Johny's Software Lab

Johny's Software Lab

Resources on making your system faster, more reliable and easier to debug

  • Home
  • Performance
  • Debugging
  • Developer Tools
  • Consulting
  • Contact
  • About us
Menu
Flexibility and Performance

Flexibility and Performance

Posted on March 25, 2021March 25, 2021Author Ivica BogosavljevićPosted in PerformanceLeave a Reply

In this post we talk about how to write code that is both flexible and fast!

Speedscope: visualize what your program is doing and where it is spending time

Speedscope: visualize what your program is doing and where it is spending time

Posted on March 13, 2021March 13, 2021Author Ivica BogosavljevićPosted in Developer Tools, PerformanceLeave a Reply

In this post we introduce Speescope, a useful tool to help you visualize what your program is doing and where it is spending time.

Speeding up an Image Processing Algorithm

Speeding up an Image Processing Algorithm

Posted on March 3, 2021March 4, 2021Author Ivica BogosavljevićPosted in PerformanceLeave a Reply

A post explaining how a few small changes in the right places can have a drastic effects on performance of an image processing algorithm named Canny.

The true price of virtual functions in C++

The true price of virtual functions in C++

Posted on February 21, 2021February 24, 2021Author Ivica BogosavljevićPosted in PerformanceLeave a Reply

We talk about virtual functions, and how the performance of software with virtual functions depends on many factors: the cost of additional instructions, cache misses, branch prediction misses, instruction cache misses and compiler optimizations.

2-minute read: Class Size, Member Layout and Speed

2-minute read: Class Size, Member Layout and Speed

Posted on February 13, 2021February 19, 2021Author Ivica BogosavljevićPosted in PerformanceLeave a Reply

We are exploring how class size and layout of its data members affect your program’s speed

Performance Tuning Contest: February 2021 edition

Performance Tuning Contest: February 2021 edition

Posted on February 7, 2021February 19, 2021Author Ivica BogosavljevićPosted in PerformanceLeave a Reply

Take part in a performance tuning contest to learn more about performance tuning on a real world code.

Crash course introduction to parallelism: SIMD Parallelism

Crash course introduction to parallelism: SIMD Parallelism

Posted on January 19, 2021January 19, 2021Author Ivica BogosavljevićPosted in 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, 2021February 20, 2021Author Ivica BogosavljevićPosted in 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, 2021January 14, 2021Author Ivica BogosavljevićPosted in 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
Making your program run faster in a multithreaded environment

Making your program run faster in a multithreaded environment

Posted on December 27, 2020December 27, 2020Author Ivica BogosavljevićPosted in PerformanceLeave a Reply

We investigate the performance impact of multithreading.

Posts navigation

Page 1 Page 2 … Page 4 Next →

Like what you’re reading? Follow us!

Recent posts

  • Flexibility and Performance
  • Speedscope: visualize what your program is doing and where it is spending time
  • Speeding up an Image Processing Algorithm
  • The true price of virtual functions in C++
  • 2-minute read: Class Size, Member Layout and Speed

About me

Johny’s Software Lab LLC is a software development consulting house specializing in software performance. If you or your developer team needs help on how to make your C or C++ program run faster, or you are missing out important deadlines because of problems with performance, this is the right place to be.

Recent Posts

  • Flexibility and Performance
  • Speedscope: visualize what your program is doing and where it is spending time
  • Speeding up an Image Processing Algorithm
  • The true price of virtual functions in C++
  • 2-minute read: Class Size, Member Layout and Speed

Recent Comments

  • Roi Barkan on Process polymorphic classes in lightning speed
  • Ivica Bogosavljević on Process polymorphic classes in lightning speed
  • Roi Barkan on Process polymorphic classes in lightning speed
  • Ivica Bogosavljević on Process polymorphic classes in lightning speed
  • Roi Barkan on Process polymorphic classes in lightning speed

Archives

  • March 2021
  • February 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020

Categories

  • Debugging
  • Developer Tools
  • Memory Footprint
  • Performance
  • Reliability

Meta

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

©2021 Johny's Software Lab | WordPress Theme by Superb WordPress Themes