Home Page Icon
Home Page
Table of Contents for
Cover
Close
Cover
by Antonio Esposito
Learning .NET High-performance Programming
Learning .NET High-performance Programming
Table of Contents
Learning .NET High-performance Programming
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why subscribe?
Free access for Packt account holders
Instant updates on new Packt books
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
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
2. Architecting High-performance .NET Code
Software architecture
Performance concerns about architecture
Object-oriented design principles
The single responsibility principle
The open-closed principle
The Liskov substitution principle
The 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
The 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
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
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
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
6. Programming for Math and 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
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
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
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
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Next
Next Chapter
Table of Contents
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset