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
  • Need help?
  • Talks
  • Contact
  • About us
Menu

All posts in January 2021

Crash course introduction to parallelism: SIMD Parallelism

Crash course introduction to parallelism: SIMD Parallelism

Posted on January 19, 2021March 19, 2022Author Ivica BogosavljevićPosted in Computational Performance, Low Level Performance, Parallelization, PerformanceLeave a Reply

This is the first article about hardware support for parallelization. We talk about SIMD, an extension almost every processor nowadays has that lets you speed up your program.

2-minute read: How is Big O notation relevant on modern systems?

2-minute read: How is Big O notation relevant on modern systems?

Posted on January 10, 2021March 19, 2022Author Ivica BogosavljevićPosted in 2 Minute Reads, Algorithms and Performance, PerformanceLeave a Reply

Big O notation is commonly used to describe algorithm performance. But modern hardware makes performance analysis much harder than it used to be. In this short article we give three interesting examples to illustrate the limits of big O notation.

Crash course introduction to parallelism: the algorithms

Crash course introduction to parallelism: the algorithms

Posted on January 4, 2021March 19, 2022Author Ivica BogosavljevićPosted in Parallelization, PerformanceLeave a Reply

When it comes to performance, there are two ways to go: one is to improve the usage of the existing hardware resources, the other is to use the new hardware resources. We already talked a lot about how to increase the performance of your program by better using the existing resources, for example, by decreasing…

Read

Like what you’re reading? Follow us!

  • Decreasing the Number of Memory Accesses 1/2
  • Frugal Programming: Saving Memory Subsystem Bandwidth
  • For Software Performance, the Way Data is Accessed Matters!
  • What is faster: vec.emplace_back(x) or vec[x] ?
  • When an instruction depends on the previous instruction depends on the previous instructions… : long instruction dependency chains and performance

Recent Posts

  • Decreasing the Number of Memory Accesses 1/2
  • Frugal Programming: Saving Memory Subsystem Bandwidth
  • For Software Performance, the Way Data is Accessed Matters!
  • What is faster: vec.emplace_back(x) or vec[x] ?
  • When an instruction depends on the previous instruction depends on the previous instructions… : long instruction dependency chains and performance

Recent Comments

  • Ivica Bogosavljević on Make your programs run faster by better using the data cache
  • v1993 on Make your programs run faster by better using the data cache
  • Ivica Bogosavljević on Decreasing the Number of Memory Accesses 1/2
  • gfrthjtuzkjziukl on Decreasing the Number of Memory Accesses 1/2
  • Ivica Bogosavljević on Decreasing the Number of Memory Accesses 1/2

Archives

  • February 2023
  • January 2023
  • 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

Meta

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

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