- Mastering C# Concurrency
- Eugene Agafonov Andrew Koryavchenko
- 160字
- 2021-07-09 21:26:08
Chapter 3. Understanding Parallelism Granularity
One of the most essential tasks when writing parallel code is to divide your program into subsets that will run in parallel and communicate between each other. Sometimes the task naturally divides into separate pieces, but usually it is up to you to choose which parts to make parallel. Should we use a small number of large tasks, many small tasks, or maybe large and small tasks at the same time?
Theoretically speaking, it does not matter. In case of an ideal computational device, it would have no overhead for creating a worker thread and distributing work between any numbers of threads. However, on a real CPU, this performance overhead is significant and it is very important to take this into account. The right way to split your program into parallel parts is the key to writing effective and fast programs. In this chapter, we are going to review this problem in detail.
- 微服務設計(第2版)
- ClickHouse性能之巔:從架構設計解讀性能之謎
- Design Principles for Process:driven Architectures Using Oracle BPM and SOA Suite 12c
- Power Up Your PowToon Studio Project
- Vue.js快跑:構建觸手可及的高性能Web應用
- Scratch真好玩:教小孩學編程
- 從Java到Web程序設計教程
- Learning OpenStack Networking(Neutron)(Second Edition)
- Building Android UIs with Custom Views
- 計算機應用基礎案例教程
- Serverless Web Applications with React and Firebase
- Mastering Apache Storm
- 黑莓(BlackBerry)開發從入門到精通
- Applied Deep Learning with Python
- LibGDX Game Development By Example