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

All posts by Ivica Bogosavljević

About Ivica Bogosavljević

I am senior software engineer active in the domain of embedded systems, with focus on system performance, debuggability and usability.

2-minute read: the Magic Touch of Parallel Algorithms

Posted on December 15, 2020December 17, 2020Author Ivica BogosavljevićPosted in Performance1 Reply

We investigate a simple way to speed up std::sort from the standard library

2-minute read: What is faster, std::endl or ‘\n’?

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

A few days ago I wrote a small app to illustrate one of the articles I was preparing. Basically the program was loading a file from the hard disk, sorting it, and then outputting to another file only unique values (by omitting duplicates). The function for writing unique values to a file looks like this:…

Read

Talk: The Price of Dynamic Memory in C and C++

Posted on November 28, 2020November 28, 2020Author Ivica BogosavljevićPosted in PerformanceLeave a Reply

Ivica Bogosavljević from Johny’s Software Lab gave a talk on November 26th, 2020 as part of C++ User Group Osnabrück related to the performance price the developers pay when they are using dynamic memory in C and C++.

Use explicit data prefetching to faster process your data structure

Posted on November 11, 2020November 11, 2020Author Ivica BogosavljevićPosted in PerformanceLeave a Reply

When processing (searching, inserting etc) your data structure, if you are accessing it in random-access fashion, the performance will suffer due to many data cache misses. Read on how to use the explicit data prefetching to speed up access to your data structure.

Multitime: a small utility to measure your program’s runtime

Posted on October 23, 2020November 1, 2020Author Ivica BogosavljevićPosted in Developer Tools, PerformanceLeave a Reply

Multitime is a tool that you can use to repeat a command several times, and get additional information about its runtime: mean, standard deviation etc. Read this short article to get you started,

Excessive copying in C++ and your program’s speed

Posted on September 26, 2020September 28, 2020Author Ivica BogosavljevićPosted in PerformanceLeave a Reply

We talk about C++ and its weakness for temporary objects and excessive copying. We also give some tips on how to avoid them and make your program faster.

Make your programs run faster: avoid expensive instructions

Posted on September 13, 2020September 13, 2020Author Ivica BogosavljevićPosted in PerformanceLeave a Reply

We will talk about expensive instructions in modern CPUs and how to avoid them to speed up your program.

Tune your program’s speed with profile guided optimizations

Posted on September 5, 2020September 5, 2020Author Ivica BogosavljevićPosted in PerformanceLeave a Reply

Profile guided optimizations are a compiler-supported optimization technique that is easy to use and will make your program run faster with little effort. Here you will learn how to enable it on your project and what kind of improvements you can expect.

Process polymorphic classes in lightning speed

Posted on August 30, 2020February 21, 2021Author Ivica BogosavljevićPosted in Performance11 Replies

We investigate what is the best way to store polymorphic objects in a container for fast access

RR: The magic of record and replay debugging

Posted on August 16, 2020August 16, 2020Author Ivica BogosavljevićPosted in DebuggingLeave a Reply

Learn about RR, a tool that will change the way you debug. RR will allow you to record bugs once and replay them anywhere. It will also allow you to reverse-execute your program, a feature that will simplify your debugging and your life.

Posts navigation

← Previous Page 1 Page 2 Page 3 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