{"generator":"Jekyll","link":[{"@attributes":{"href":"https:\/\/easyperf.net\/feed.xml","rel":"self","type":"application\/atom+xml"}},{"@attributes":{"href":"https:\/\/easyperf.net\/","rel":"alternate","type":"text\/html"}}],"updated":"2025-11-10T11:46:05-05:00","id":"https:\/\/easyperf.net\/feed.xml","title":"Denis Bakhvalov","subtitle":"Performance optimizations and analysis in C\/C++","author":{"name":"Denis Bakhvalov"},"entry":[{"title":"Book Updates and Errata. Performance Analysis and Tuning on Modern CPUs (Second Edition)","link":{"@attributes":{"href":"https:\/\/easyperf.net\/blog\/2024\/11\/11\/Book-Updates-Errata","rel":"alternate","type":"text\/html","title":"Book Updates and Errata. Performance Analysis and Tuning on Modern CPUs (Second Edition)"}},"published":"2024-11-11T00:00:00-05:00","updated":"2024-11-11T00:00:00-05:00","id":"https:\/\/easyperf.net\/blog\/2024\/11\/11\/Book-Updates-Errata","content":{"@attributes":{"type":"html"}},"author":{"name":"Denis Bakhvalov"},"category":{"@attributes":{"term":"personal"}},"summary":{"@attributes":{"type":"html"}}},{"title":"Thread Count Scaling Part 1. Introduction","link":{"@attributes":{"href":"https:\/\/easyperf.net\/blog\/2024\/05\/10\/Thread-Count-Scaling-Part1","rel":"alternate","type":"text\/html","title":"Thread Count Scaling Part 1. Introduction"}},"published":"2024-05-10T00:00:00-04:00","updated":"2024-05-10T00:00:00-04:00","id":"https:\/\/easyperf.net\/blog\/2024\/05\/10\/Thread-Count-Scaling-Part1","content":{"@attributes":{"type":"html"}},"author":{"name":"Denis Bakhvalov"},"category":[{"@attributes":{"term":"performance analysis"}},{"@attributes":{"term":"book chapters"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Thread Count Scaling Part 2. Blender and Clang","link":{"@attributes":{"href":"https:\/\/easyperf.net\/blog\/2024\/05\/10\/Thread-Count-Scaling-Part2","rel":"alternate","type":"text\/html","title":"Thread Count Scaling Part 2. Blender and Clang"}},"published":"2024-05-10T00:00:00-04:00","updated":"2024-05-10T00:00:00-04:00","id":"https:\/\/easyperf.net\/blog\/2024\/05\/10\/Thread-Count-Scaling-Part2","content":{"@attributes":{"type":"html"}},"author":{"name":"Denis Bakhvalov"},"category":[{"@attributes":{"term":"performance analysis"}},{"@attributes":{"term":"book chapters"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Thread Count Scaling Part 3. Zstandard","link":{"@attributes":{"href":"https:\/\/easyperf.net\/blog\/2024\/05\/10\/Thread-Count-Scaling-Part3","rel":"alternate","type":"text\/html","title":"Thread Count Scaling Part 3. Zstandard"}},"published":"2024-05-10T00:00:00-04:00","updated":"2024-05-10T00:00:00-04:00","id":"https:\/\/easyperf.net\/blog\/2024\/05\/10\/Thread-Count-Scaling-Part3","content":{"@attributes":{"type":"html"}},"author":{"name":"Denis Bakhvalov"},"category":[{"@attributes":{"term":"performance analysis"}},{"@attributes":{"term":"book chapters"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Thread Count Scaling Part 4. CloverLeaf and CPython","link":{"@attributes":{"href":"https:\/\/easyperf.net\/blog\/2024\/05\/10\/Thread-Count-Scaling-Part4","rel":"alternate","type":"text\/html","title":"Thread Count Scaling Part 4. CloverLeaf and CPython"}},"published":"2024-05-10T00:00:00-04:00","updated":"2024-05-10T00:00:00-04:00","id":"https:\/\/easyperf.net\/blog\/2024\/05\/10\/Thread-Count-Scaling-Part4","content":{"@attributes":{"type":"html"}},"author":{"name":"Denis Bakhvalov"},"category":[{"@attributes":{"term":"performance analysis"}},{"@attributes":{"term":"book chapters"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Thread Count Scaling Part 5. Summary","link":{"@attributes":{"href":"https:\/\/easyperf.net\/blog\/2024\/05\/10\/Thread-Count-Scaling-Part5","rel":"alternate","type":"text\/html","title":"Thread Count Scaling Part 5. Summary"}},"published":"2024-05-10T00:00:00-04:00","updated":"2024-05-10T00:00:00-04:00","id":"https:\/\/easyperf.net\/blog\/2024\/05\/10\/Thread-Count-Scaling-Part5","content":{"@attributes":{"type":"html"}},"author":{"name":"Denis Bakhvalov"},"category":[{"@attributes":{"term":"performance analysis"}},{"@attributes":{"term":"book chapters"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Memory Profiling Part 1. Introduction","link":{"@attributes":{"href":"https:\/\/easyperf.net\/blog\/2024\/02\/12\/Memory-Profiling-Part1","rel":"alternate","type":"text\/html","title":"Memory Profiling Part 1. Introduction"}},"published":"2024-02-12T00:00:00-05:00","updated":"2024-02-12T00:00:00-05:00","id":"https:\/\/easyperf.net\/blog\/2024\/02\/12\/Memory-Profiling-Part1","content":{"@attributes":{"type":"html"}},"author":{"name":"Denis Bakhvalov"},"category":[{"@attributes":{"term":"performance analysis"}},{"@attributes":{"term":"book chapters"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Memory Profiling Part 2. Memory Usage Case Study","link":{"@attributes":{"href":"https:\/\/easyperf.net\/blog\/2024\/02\/12\/Memory-Profiling-Part2","rel":"alternate","type":"text\/html","title":"Memory Profiling Part 2. Memory Usage Case Study"}},"published":"2024-02-12T00:00:00-05:00","updated":"2024-02-12T00:00:00-05:00","id":"https:\/\/easyperf.net\/blog\/2024\/02\/12\/Memory-Profiling-Part2","content":{"@attributes":{"type":"html"}},"author":{"name":"Denis Bakhvalov"},"category":[{"@attributes":{"term":"performance analysis"}},{"@attributes":{"term":"book chapters"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Memory Profiling Part 3. Memory Footprint with SDE","link":{"@attributes":{"href":"https:\/\/easyperf.net\/blog\/2024\/02\/12\/Memory-Profiling-Part3","rel":"alternate","type":"text\/html","title":"Memory Profiling Part 3. Memory Footprint with SDE"}},"published":"2024-02-12T00:00:00-05:00","updated":"2024-02-12T00:00:00-05:00","id":"https:\/\/easyperf.net\/blog\/2024\/02\/12\/Memory-Profiling-Part3","content":{"@attributes":{"type":"html"}},"author":{"name":"Denis Bakhvalov"},"category":[{"@attributes":{"term":"performance analysis"}},{"@attributes":{"term":"book chapters"}}],"summary":{"@attributes":{"type":"html"}}},{"title":"Memory Profiling Part 4. Memory Footprint Case Study","link":{"@attributes":{"href":"https:\/\/easyperf.net\/blog\/2024\/02\/12\/Memory-Profiling-Part4","rel":"alternate","type":"text\/html","title":"Memory Profiling Part 4. Memory Footprint Case Study"}},"published":"2024-02-12T00:00:00-05:00","updated":"2024-02-12T00:00:00-05:00","id":"https:\/\/easyperf.net\/blog\/2024\/02\/12\/Memory-Profiling-Part4","content":{"@attributes":{"type":"html"}},"author":{"name":"Denis Bakhvalov"},"category":[{"@attributes":{"term":"performance analysis"}},{"@attributes":{"term":"book chapters"}}],"summary":{"@attributes":{"type":"html"}}}]}