ebook img

Learning .NET High Performance Programming PDF

305 Pages·2015·7.937 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Learning .NET High Performance Programming

Learning .NET High-performance Programming Learn everything you need to know about performance-oriented programming for the .NET Framework Antonio Esposito BIRMINGHAM - MUMBAI Learning .NET High-performance Programming Copyright © 2015 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: June 2015 Production reference: 1260615 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78528-846-3 www.packtpub.com Credits Author Project Coordinator Antonio Esposito Suzanne Coutinho Reviewers Proofreaders Altaf Hussain Stephen Copestake Thomas Krause Safis Editing Chad D. Morgan Newton Sheikh Indexer Rekha Nair Commissioning Editor Dipika Gaonkar Graphics Jason Monteiro Acquisition Editor Larissa Pinto Production Coordinator Melwyn D'sa Content Development Editor Amey Varangaonkar Cover Work Melwyn D'sa Technical Editor Rohith Rajan Copy Editors Charlotte Carneiro Ameesha Green Puja Lalvani Vikrant Phadke About the Author Antonio Esposito has been an experienced software developer, architect, and trainer since 2002. He started programming in BASIC on MS-DOS 3 at the age of 8 and still loves programming on Microsoft products. An expert in .NET, he has a lot of knowledge of SOA techniques and architectures as well as WCF and Microsoft Azure. He also has extensive knowledge of application production frameworks, such as WPF, MVC, and so on. Antonio has worked with prominent companies as a freelance consultant, speaker, and trainer. These companies include UniCredit Banca, Microsoft Italia, IBM Italia, Ferrari, Tenova Pomini, Cornér Banca, and many others. As a speaker, he has had the opportunity to contribute to events such as the MCT Summit Europe, WPC Italia, Community Days Milano, Codemotion, and many more from his own user group, DotNet Lombardia. I thank my lovely baby and wife for always being in my heart. About the Reviewers Altaf Hussain is a student pursuing a master's course from Saint Francis Xavier University in Nova Scotia, Canada. Prior to this, he received his undergraduate degree in computer science and engineering from Shahjalal University of Science and Technology in Sylhet, Bangladesh. He is researching in the field of semantic web and cloud services. He is also into developing a framework for context-aware service discovery and selection, providing decision-making support for healthcare scenarios, using parallel computing and semantic technologies. Altaf is also working as a senior software engineer for Logistics Software Corp., Canada, where he develops distributed web and desktop applications in C#, ASP. NET, and contemporary technologies. Prior to beginning his master's course, he also worked as a full-stack distributed application developer, implementing e-forms, citizen services, and public sector workflow integration. Altaf has also published several research papers in the fields of grid computing, cloud computing, and the Semantic Web. Thomas Krause is an independent software developer, author, and consultant. He specializes in high-performance solutions, algorithms, and artificial intelligence. Most of the projects he has worked on have leveraged the productivity of the Microsoft .NET framework while still aiming to be highly performant and efficient. One example of this is his work on a message-based backend processing system based on BizTalk for a Fortune 500 company. This system manages the administration of over 200,000 employees in that company worldwide. Thomas has also served as a consultant and developer on an automated infringement system that handles tens of millions of offenses in traffic every year worldwide and processes terabytes of data. As an author, he wrote a book about large-scale duplicate detection algorithms using indexing technologies, similar to those used by Google and other major search engines. Thomas lives and works in Cologne, Germany, where he enjoys Metthappen and Kölsch (ground pork on bread and the typical Cologne beer). Cologne is also home to a company called Akzente.IT, which he founded for his consulting work. He is always looking for new and interesting projects, so don't hesitate to contact him. You can find more information about him at http://akzente.it/. First and foremost, I want to thank my parents, my girlfriend, and the rest of my family, who have always supported me. Special thanks also go to Sophie for being my funny neighbor; my colleague Oliver for bringing everything in apple-pie order as well as delivering an awesome product to our friends overseas; and my colleague Manuel for playing with me for FC Klostein (local soccer team). Seriously, you guys are great and it's always fun working with you! Chad D. Morgan is currently the director of technology at MapGraphiX, a software company that focuses on mapping solutions for the transportation industry. Additionally, he owns a consulting company, Pelican Creek Consulting, and has 14 years of professional experience, developing software across various industries. He has had a strong focus on web technologies. His credentials include Microsoft Certified Professional Developer, Microsoft Certified Application Developer, and Microsoft Certified Technology Specialist, among others. Newton Sheikh is a consultant on cloud computing and distributed computing with focus on Microsoft Azure. He is also a .NET developer and game programmer. He has a lot of interest in the field of mathematics and complex algorithms. Newton enjoys most of his day coding, working on business solutions, and designing architecture for the cloud. He also loves working on compiler design. When he is not in front of a computer, he loves to spend time with his friends and family and hang out at different places with a camera in his hands. He has reviewed XNA 4 3D Game Development by Example Beginner's Guide, Packt Publishing. You can get in touch with him at https://in.linkedin.com/pub/newton- sheikh/33/391/910. I would like to thank my colleagues with whom I work for helping me with the review process. www.PacktPub.com Support files, eBooks, discount offers, and more For support files and downloads related to your book, please visit www.PacktPub.com. Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details. At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks. https://www2.packtpub.com/books/subscription/packtlib Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can search, access, and read Packt's entire library of books. Why subscribe? • Fully searchable across every book published by Packt • Copy and paste, print, and bookmark content • On demand and accessible via a web browser Free access for Packt account holders If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view 9 entirely free books. Simply use your login credentials for immediate access. Instant updates on new Packt books Get notified! Find out when new books are published by following @ PacktEnterprise on Twitter or the Packt Enterprise Facebook page. Table of Contents Preface vii Chapter 1: Performance Thoughts 1 Understanding performance 2 Performance as a requirement 3 Performance engineering 4 Performance aspects 5 Latency 6 Throughput 7 Resource usage 7 Availability/reliability 8 Scalability 8 Efficiency 9 Class of applications 9 Case study: performance aspects of a desktop application 10 Case study: performance aspects of a mobile application 11 Case study: performance aspects of a server application 12 Performance concerns as time changes 14 Technical overview 15 Multithreaded programming 15 Parallel programming 17 Distributed computing 19 Grid computing 20 Summary 20 Chapter 2: Architecting High-performance .NET Code 21 Software architecture 22 Performance concerns about architecture 24 [ i ]

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.