
Learning .NET High-Performance Programming
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
- Identify different performance concerns for all the mainly used architectures and designs
- Acquaint yourself with the commonly used MVC and MVVM patterns
- Understand the fundamentals of CLR
- Learn more about Task Parallel Library and concepts such as Thread Pool Tuning and parameter injection
- Use PLINQ programming to achieve parallelism
- Design Big Data solutions for handling datasets optimally
- Choose highperformance querying strategies to retrieve and manipulate data
- Execute tests on applications for performance analysis
Who this book is forIf you are a.NET developer with an understanding of application development, but want to learn how to optimize the performance of your applications, this is the book for you. Basic knowledge of C# is expected.
More details
Other editions
Additional editions

Person
Antonio Esposito is a Microsoft Certified Trainer, software architect, father, son, and lover of cooking and eating. He has been addicted to computer programming from age 8, a developer since 2002, and a speaker from 2010. He has moved across Europe in the last fifteen years working as freelance consultant or speaker for companies such as UniCredit Bank, Ferrari F1 Racing Team, Microsoft Italy, IBM, and many others. He actively attends as a speaker at a lot of conferences, such as MCT Summit and WPC Italy. He is already an author for Packt with Learning.NET High Performance Programming in 2014.
Content
- Cover
- Copyright
- Credits
- About the Author
- About the Reviewers
- www.PacktPub.com
- Table of Contents
- Preface
- Chapter 1: Performance Thoughts
- Understanding performance
- Performance as a requirement
- Performance engineering
- Performance aspects
- Latency
- Throughput
- Resource usage
- Availability/reliability
- Scalability
- Efficiency
- Class of applications
- Case study: performance aspects of a desktop application
- Case study: performance aspects of a mobile application
- Case study: performance aspects of a server application
- Performance concerns as time changes
- Technical overview
- Multithreaded programming
- Parallel programming
- Distributed computing
- Grid computing
- Summary
- Chapter 2: Architecting High-performance .NET Code
- Software architecture
- Performance concerns about architecture
- Object-oriented design principles
- Single responsibility principle
- The open-closed principle
- The Liskov substitution principle
- That interface segregation principle
- The dependency inversion principle
- Common designs and architectures
- Layered architecture
- Performance concerns
- Model-View-Controller and ASP.NET MVC
- Performance concerns
- Model-View-ViewModel and XAML
- Performance concerns
- 3-tier architecture
- Performance concerns
- Service-Oriented Architecture (SOA)
- Standardized service contract
- Service loose coupling
- Service abstraction
- Service reusability
- Service autonomy
- Service statelessness
- Service discoverability
- Service composability
- Performance concerns
- Architecture comparison
- Common platform architectures
- Architecting desktop applications
- Architecting mobile applications
- Architecting web applications
- Architecting cloud web applications
- Performance considerations
- Caching, when and where
- PLINQ everywhere
- Inversion of Control (IoC)
- Lazy loading
- Reusability of code
- Agnostic versus idiom-powered implementation
- Short coding
- Remote computation
- Cloud versus on-premise applications
- Summary
- Chapter 3: CLR Internals
- Introduction to CLR
- Memory management
- Garbage collection
- Large object heap
- Collection tuning
- Working with AppDomains
- IDisposable interface
- Threading
- Multithreading synchronization
- Locks
- Signaling locks
- Drawbacks of locks
- Exception handling
- Summary
- Chapter 4: Asynchronous Programming
- Understanding asynchronous programming
- Asynchronous programming theory
- Asynchronous Programming Model (APM)
- Event-based Asynchronous Pattern (EAP)
- Task-based Asynchronous Pattern (TAP)
- Task creation
- Task synchronization
- Task exception handling
- Task cancellation
- Task continuation
- Task factories
- Task UI synchronization
- Async/await
- Summary
- Chapter 5: Programming for Parallelism
- Parallel programming
- Task parallelism
- Data parallelism
- Task parallelism with TPL
- Data parallelism with TPL
- ThreadPool tuning
- Parallel execution abortion
- Partitions
- Sliding parallel programming
- Integrated querying with LINQ
- Data parallelism with PLINQ
- Partitioning optimization
- Summary
- Chapter 6: Programming for Math & Engineering
- Introduction
- Evaluating the performance of data types
- BigInteger
- Half-precision data type
- Real-time applications
- Case study: Fourier transform
- Rolling average
- Low-pass filtering for Audio
- Sliding processing
- Summary
- Chapter 7: Database Querying
- Introduction
- Overview of ADO.NET
- An overview of Entity Framework
- Advanced querying
- Entity Framework querying optimization
- Querying execution lifecycle
- Querying approaches
- Performance thoughts
- Entity Framework persistence optimization
- Performance comparison
- Stream-like querying
- ADO.NET bulk copy
- Summary
- Chapter 8: Programming for Big Data
- What is big data?
- Architecting big data solutions
- Case study - automotive big data system
- Microsoft Azure for big data
- Service Bus Topic
- AppFabric Cache
- Redis Cache
- Simplified grid computing
- Lookup programming
- Summary
- Chapter 9: Analyzing Code Performance
- Software profiling
- Profiling with Visual Studio
- Instrumentation profiling
- The analysis report comparison
- Testing with Visual Studio 2013
- The Integration test
- Performance-related tests
- TDD
- Test and Continuous Integration
- Static program analysis
- Code analysis
- Code metrics
- Summary
- Index
System requirements
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.