Johny's Software Lab

Johny'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
  • Consulting
  • Talks
  • Contact
  • About us
Menu

All posts tagged linux

Hardware performance counters the easy way: quickstart likwid-perfctr

Hardware performance counters the easy way: quickstart likwid-perfctr

Posted on June 18, 2021March 19, 2022Author Ivica BogosavljevićPosted in Performance, Performance Analysis ToolsLeave a Reply

We talk about LIKWID and likwid-perfctr, a tool that you can use to get information from the hardware performance counters in a user-friendly way.

Debugging performance issues in kernel space: system calls

Debugging performance issues in kernel space: system calls

Posted on May 30, 2021March 19, 2022Author Ivica BogosavljevićPosted in 2 Minute Reads, Kernel Space and Performance, PerformanceLeave a Reply

We talk about how to detect if your program is spending a lot of time in kernel mode (system mode) and investigate ways to speed them up.

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 19, 2022Author Ivica BogosavljevićPosted in Developer Tools, Performance, Performance Analysis Tools2 Replies

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

RR: The magic of record and replay debugging

RR: The magic of record and replay debugging

Posted on August 16, 2020March 19, 2022Author 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.

The price of dynamic memory: Allocation

The price of dynamic memory: Allocation

Posted on July 25, 2020March 19, 2022Author Ivica BogosavljevićPosted in C++ Performance, Performance, Standard Library and Performance2 Replies

We talk about how to speed up your program if your program is taking time to allocate or release memory.

Lessons in debugging: observe how programs interact with the Linux kernel with STRACE

Lessons in debugging: observe how programs interact with the Linux kernel with STRACE

Posted on July 12, 2020March 19, 2022Author Ivica BogosavljevićPosted in Debugging, Developer ToolsLeave a Reply

There are a subset of problems in software development that can be traced back to system calls or signals. Learn about STRACE, tool that let you trace system calls and signals and that can help you quickly figure out the origin of those problems.

CPU Dispatching: Make your code both portable and fast

CPU Dispatching: Make your code both portable and fast

Posted on June 28, 2020March 19, 2022Author Ivica BogosavljevićPosted in Low Level Performance, Performance1 Reply

CPU dispatchingh is all about making your code portable and fast. We will talk about how to make your detect features your CPU has at is disposal and select the fastest function for that particular CPU without a need to recompile your software.

GDB: A quick guide to make your debugging easier

GDB: A quick guide to make your debugging easier

Posted on June 21, 2020March 19, 2022Author Ivica BogosavljevićPosted in Debugging, Developer ToolsLeave a Reply

We will talk about how to profit from some of GDB’s very useful albeit less known features.

Like what you’re reading? Follow us!

Recent posts

  • Memory consumption, dataset size and performance: how does it all relate?
  • Crash course introduction to parallelism: Multithreading
  • Vectorization, dependencies and outer loop vectorization: if you can’t beat them, join them
  • Making your program run faster: the key concepts of software performance
  • Why is quicksort faster than heapsort? And how to make them faster?

About us

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

  • Memory consumption, dataset size and performance: how does it all relate?
  • Crash course introduction to parallelism: Multithreading
  • Vectorization, dependencies and outer loop vectorization: if you can’t beat them, join them
  • Making your program run faster: the key concepts of software performance
  • Why is quicksort faster than heapsort? And how to make them faster?

Recent Comments

  • Ivica Bogosavljević on The true price of virtual functions in C++
  • Jonathan on The true price of virtual functions in C++
  • David Scepanovic on Make your programs run faster by better using the data cache
  • Ivica Bogosavljević on Make your programs run faster by better using the data cache
  • David Scepanovic on Make your programs run faster by better using the data cache

Archives

  • 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
  • Multithreaded Performance
  • Parallelization
  • Performance
  • Performance Analysis Tools
  • Performance Contest
  • Reliability
  • Standard Library and Performance
  • System Design
  • Toolchain and Performance
  • Uncategorized

Meta

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

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