IConfiguration vs IOptions NET
Synchronous and Asynchronous in .NET Core
Model Binding and Validation in ASP.NET Core
ControllerBase vs Controller in ASP.NET Core
ConfigureServices and Configure methods
IHostedService interface in .NET Core
ASP.NET Core request processing
| Tuckman-Model | CORS-and-CSRF | |
Amdahl's Law |
Amdahl's law is a principle in computer science that predicts the theoretical maximum speedup of a system when only part of it is optimized. It is widely used in parallel computing to illustrate that the overall performance gain is limited by the portion of a program that cannot be parallelized. The law was formulated by computer architect Gene Amdahl in 1967. It highlights that even with a massive increase in processing resources, the sequential, non-parallelizable part of a program will eventually become a bottleneck, capping the maximum achievable speedup.
The formula for Amdahl's law calculates the speedup ($S$) based on the fraction of the program that can be enhanced ($P$) and the number of parallel units ($N$) used.
$$S=\frac{1}{(1-P)+\frac{P}{N}}$$Where:
Imagine a program where 75% of the code can be parallelized, and you want to run it on a system with four processors.
In this case, the theoretical speedup is limited to approximately 2.28 times, even though you have four processors. The 25% of the program that must run sequentially creates a performance bottleneck.
While Amdahl's law provides a crucial insight into parallel processing, it has several important limitations:
| Tuckman-Model | CORS-and-CSRF | |