Johnny's Software Lab

Johnny's Software Lab

We help you deliver fast software

  • Home
  • Performance
    • 2 Minute Reads
    • C++ Performance
    • Standard Library and Performance
    • Algorithms and Performance
    • Toolchain and Performance
    • Help the Compiler
    • Performance Analysis Tools
    • Computational Performance
    • Low Level Performance
    • Parallelization
    • Multithreaded Performance
    • Performance Contest
  • Debugging
  • Developer Tools
  • Vectorization Workshop
  • Need help?
  • Talks
  • Contact
  • About us
Menu

All posts tagged binary tree

Speeding Up Translation of Virtual To Physical Memory Addresses: TLB and Huge Pages

Speeding Up Translation of Virtual To Physical Memory Addresses: TLB and Huge Pages

Posted on October 29, 2023October 30, 2023Author Ivica BogosavljevićPosted in Low Level Performance, Memory Subsystem Performance, PerformanceLeave a Reply

In this post we explore how to speed up our memory intensive programs by decreasing the number of TLB cache misses

Faster hash maps, binary trees etc. through data layout modification

Faster hash maps, binary trees etc. through data layout modification

Posted on September 30, 2023October 27, 2023Author Ivica BogosavljevićPosted in Low Level Performance, Memory Subsystem Performance, Performance1 Reply

We investigate how to make faster hash maps, trees, linked lists and vector of pointers by changing their data layout.

Performance Through Memory Layout

Performance Through Memory Layout

Posted on August 31, 2023February 1, 2024Author Ivica BogosavljevićPosted in Low Level Performance, Memory Subsystem Performance, Performance2 Replies

In this post we investigate how we can improve the performance of our memory-intensive codes through changing the memory layout of our performance-critical data structures.

Instruction-level parallelism in practice: speeding up memory-bound programs with low ILP

Instruction-level parallelism in practice: speeding up memory-bound programs with low ILP

Posted on June 19, 2022April 3, 2024Author Ivica BogosavljevićPosted in Low Level Performance, Memory Subsystem Performance, PerformanceLeave a Reply

We talk about instruction level parallelism: what instruction-level parallelism is, why is it important for your code’s performance and how you can add instruction-level parallelism to improve the performance of your memory-bound program.

Like what you’re reading? Follow us!

  • 9 Things Every Fresh Graduate Should Know About Software Performance
  • The messy reality of SIMD (vector) functions
  • An optimizing compiler doesn’t help much with long instruction dependencies
  • Growing Buffers to Avoid Copying Data
  • Performance Debugging with llvm-mca: Simulating the CPU!

Recent Posts

  • 9 Things Every Fresh Graduate Should Know About Software Performance
  • The messy reality of SIMD (vector) functions
  • An optimizing compiler doesn’t help much with long instruction dependencies
  • Growing Buffers to Avoid Copying Data
  • Performance Debugging with llvm-mca: Simulating the CPU!

Recent Comments

  • Min Hsu on Performance Debugging with llvm-mca: Simulating the CPU!
  • Luke Hofstetter on Growing Buffers to Avoid Copying Data
  • Tor on An optimizing compiler doesn’t help much with long instruction dependencies
  • Ivica Bogosavljević on Link Time Optimizations: New Way to Do Compiler Optimizations
  • Geert Bosch on Link Time Optimizations: New Way to Do Compiler Optimizations

Archives

  • September 2025
  • July 2025
  • May 2025
  • March 2025
  • January 2025
  • December 2024
  • October 2024
  • August 2024
  • June 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021
  • May 2021
  • April 2021
  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020

Categories

  • 2 Minute Reads
  • Algorithms and Performance
  • C++ Performance
  • Computational Performance
  • Data Structure Performance
  • Debugging
  • Developer Tools
  • Help the Compiler
  • Kernel Space and Performance
  • Low Level Performance
  • Memory Footprint
  • Memory Subsystem Performance
  • Multithreaded Performance
  • Parallelization
  • Performance
  • Performance Analysis Tools
  • Performance Contest
  • Reliability
  • Standard Library and Performance
  • System Design
  • Toolchain and Performance
  • Vectorization

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org

©2025 Johnny's Software Lab | WordPress Theme by Superb WordPress Themes