I have been a developer for the past 7 years. I've gone through a lot of code reviews during that time. I have devoted my time to learn good software engineering practices through C#. Last year, my passion for performance engineering took off. One thing that has always been important for me was to be … Continue reading Introducing DotNet.SystemCollections.Analyzers
Category: Performance Engineering
Numbers Everyone Should Know
When you’re designing a performance-sensitive computer system, it is important to have an intuition for the relative costs of different operations. How much does a network I/O cost, compared to a disk I/O, a load from DRAM, or an L2 cache hit? How much computation does it make sense to trade for a reduction in I/O? What is the relative cost of random vs. sequential I/O? For a given workload, what is the bottleneck resource?
When designing a system, you rarely have enough time to completely build two alternative designs to compare their performance. This makes two skills useful:
- Back-of-the-envelope analysis. This essentially means developing an intuition for the performance of different alternate designs, so that you can reject possible designs out-of-hand, or choose which alternatives to consider more carefully.
- Microbenchmarking. If you can identify the bottleneck operation for a given resource, then you can construct a micro-benchmark…
View original post 312 more words
Early steps in performance engineering
Performance engineering has been something I've been pushing at my job for the past few months. We've had performance issues that needed to be solved and it felt like even if we fixed them, we could still get hit by a regression. So that's when I started to research online to find a solution to … Continue reading Early steps in performance engineering
System Design Principles from Jeff Dean
Hi everyone, Presentation made by Jeff Dean, the current leader of the Google AI division Each talk bring excellent points to keep in mind while designing a system that will scale at large We can exclude the information related solely on distributed systems and focus on the common principles for software design Designs, Lessons and … Continue reading System Design Principles from Jeff Dean