目錄(142章)
倒序
- coverpage
- Title Page
- Packt Upsell
- Why subscribe?
- PacktPub.com
- Contributors
- About the author
- About the reviewers
- Packt is searching for authors like you
- Preface
- Who this book is for
- What this book covers
- To get the most out of this book
- Download the example code files
- Conventions used
- Get in touch
- Reviews
- About Performance
- What is performance?
- Different types of speed
- Algorithm complexity
- Big O and Delphi data structures
- Data structures in practice
- Mr. Smith's first program
- Looking at code through the Big O eyes
- Don't guess measure!
- Profiling with TStopwatch
- Profilers
- AsmProfiler
- Sampling Profiler
- AQTime
- Nexus Quality Suite
- Summary
- Fixing the Algorithm
- Responsive user interfaces
- Updating a progress bar
- Bulk updates
- Virtual display
- Caching
- Dynamic cache
- Speeding up SlowCode
- Summary
- Fine-Tuning the Code
- Delphi compiler settings
- Code inlining control
- Optimization
- Record field alignment
- Assertions
- Overflow checking
- Range checking
- Extracting common expressions
- The helpful CPU window
- Behind the scenes
- A plethora of types
- Simple types
- Strings
- Arrays
- Records
- Classes
- Interfaces
- Optimizing method calls
- Parameter passing
- Method inlining
- The magic of pointers
- Going the assembler way
- Returning to SlowCode
- Summary
- Memory Management
- Optimizing strings and array allocations
- Memory management functions
- Dynamic record allocation
- FastMM internals
- Memory allocation in a parallel world
- Replacing the default memory manager
- ScaleMM
- TBBMalloc
- Fine-tuning SlowCode
- Summary
- Getting Started with the Parallel World
- Processes and threads
- When to parallelize the code?
- Most common problems
- Never access UI from a background thread
- Simultaneous reading and writing
- Sharing a variable
- Synchronization
- Critical sections
- Other locking mechanisms
- A short note on coding style
- Shared data with built-in locking
- Interlocked operations
- Object life cycle
- Communication
- Windows messages
- Synchronize and Queue
- Polling
- Performance
- Third-party libraries
- Summary
- Working with Parallel Tools
- TThread
- Advanced TThread
- Setting up a communication channel
- Sending messages from a thread
- Implementing a timer
- Summary
- Exploring Parallel Practices
- Tasks and patterns
- Variable capturing
- Tasks
- Exceptions in tasks
- Parallelizing a loop
- Thread pooling
- Async/Await
- Join
- Join/Await
- Future
- Parallel for
- Pipelines
- Creating the pipeline
- Stages
- Displaying the result and shutting down
- Summary
- Using External Libraries
- Using object files
- Object file formats
- Object file linking in practice
- Using C++ libraries
- Using a proxy DLL in Delphi
- Summary
- Best Practices
- About performance
- Fixing the algorithm
- Fine-tuning the code
- Memory management
- Getting started with the parallel world
- Working with parallel tools
- Exploring parallel practices
- Using external libraries
- Final words
- Other Books You May Enjoy
- Leave a review - let other readers know what you think 更新時間:2021-06-24 19:23:19
推薦閱讀
- 數據可視化:從小白到數據工程師的成長之路
- Google Visualization API Essentials
- 數據庫基礎與應用:Access 2010
- 輕松學大數據挖掘:算法、場景與數據產品
- 圖解機器學習算法
- 數據庫原理與應用(Oracle版)
- Remote Usability Testing
- 數字媒體交互設計(初級):Web產品交互設計方法與案例
- 金融商業算法建模:基于Python和SAS
- Splunk智能運維實戰
- Python數據分析與數據化運營
- MySQL技術內幕:SQL編程
- 菜鳥學SPSS數據分析
- 數據庫與數據處理:Access 2010實現
- Swift Functional Programming(Second Edition)
- 一本書讀懂大數據
- MATLAB基礎及其應用教程
- Foxtable數據庫應用開發寶典
- 大學計算機基礎習題與實驗指導(第2版)
- 自己動手做大數據系統(第2版)
- Continuous Delivery and DevOps:A Quickstart Guide
- SequoiaDB分布式數據庫權威指南
- Implementing DevOps with Microsoft Azure
- Hadoop大數據處理
- 智能數據治理:基于大模型、知識圖譜
- 數據庫系統:原理、設計與編程(MOOC版)
- Access數據庫創建、使用與管理從新手到高手
- 劍指MySQL 8.0:入門、精練與實戰
- 以太坊技術詳解與實戰
- Hands-On Web Scraping with Python