I love how Kristian Köhntopp often turns series of valuable tweets in a blog post. [Wayback/Archive] MySQL: Boiling JFrogs | Die wunderbare Welt von Isotopp is no different and has much more than the few quotes below (especially about the process of finding the solutions):
Archive for the ‘Profiling-Performance-Measurement’ Category
MySQL: Boiling JFrogs | Die wunderbare Welt von Isotopp
Posted by jpluimers on 2025/01/23
Posted in Database Development, Development, MySQL, Profiling, Profiling-Performance-Measurement, Software Development | Leave a Comment »
Delphi sorcery: Introducing Spring.Benchmark – a port of Google benchmark
Posted by jpluimers on 2025/01/14
On my list of tools to experiment with: [Wayback/Archive] Delphi sorcery: Introducing Spring.Benchmark – a port of Google benchmark
This got released while I was recovering from cancer procedures, to I totally missed it.
Interesting stuff, as I knew there was the Google benchmark library*, but since I hardly do any C++ work, I never used it.
* [Wayback/Archive] GitHub – google/benchmark: A microbenchmark support library
The source code for the Delphi based Spring.Benchmark library is at [Wayback/Archive] GitHub – spring4d/benchmark: Delphi port of Google Benchmark, especially [Wayback/Archive] benchmark/Spring.Benchmark.pas at master · spring4d/benchmark · GitHub.
Videos to watch before using it:
Posted in C++, Delphi, Development, Profiling-Performance-Measurement, Software Development | Leave a Comment »
How NOT to Measure Latency
Posted by jpluimers on 2024/05/15
According to @isotopp (Kristian Köhntopp ), this is one of the most important talks to watch regarding performance issues: [Wayback/Archive.is] How NOT to Measure Latency
Gil Tene provides an in-depth overview of Latency and Response Time Characterization, including proven methodologies for measuring, reporting, and investigating latencies, and overview of some common pitfalls encountered (far too often) in the field. Tene also covers specific considerations in garbage collected environments (such as Java).
It is on YouTube (embedded below the signature) as well, but the above link as synchronised slides plus video.
More places where you can get it:
Via [Archive.is] Kristian Köhntopp on Twitter: “… Dieser Talk ist einer der wichtigsten Talks überhaupt, wenn es um das debuggen von “Performance Problemen” oder SLOs geht.”
–jeroen
Posted in .NET, Database Development, Development, Java, Java Platform, Profiling-Performance-Measurement, Software Development | Leave a Comment »
a perf cheat sheet from @brendangregg’s fantastic web page; you can print it as PDF
Posted by jpluimers on 2020/01/13
From a while back: [WayBack] ⚡Julia Evans⚡ on Twitter : made a perf cheat sheet from @brendangregg’s fantastic brendangregg.com/perf.html you can print it at …
References:
- [WayBack] https://jvns.ca/perf-cheat-sheet.pdf
- Examples of using the Linux perf command, aka perf_events, for performance analysis and debugging. perf is a profiler and tracer.[WayBack] Linux perf Examples
The latter has a lot of examples and even more explanation all around the below picture.
–jeroen
Posted in *nix, *nix-tools, Development, Linux, Power User, Profiling-Performance-Measurement | Leave a Comment »
Some links on code metrics
Posted by jpluimers on 2019/07/24
A while ago, I got a question on code metrics, so here some links for my reading list:
- [WayBack/Archive] What are useful metrics for source code? – Software Engineering Stack Exchange
- [WayBack/Archive] Source Code Is A Liability, Not An Asset – Eric Lee
- [WayBack/Archive] A Visit from the Metrics Maid
- [Archive] WayBack: Advantage Business Group – MALPAS
- [WayBack/Archive] 200311-German.pdf – Software Static Code Analysis Lessons Learned – Andy German – QinetiQ Ltd.
- [WayBack/Archive] System Testing | Construx
- [Archive] WayBack: SPARKAda – Homepage
- [WayBack/Archive] Software Engineering: Dead?
- [WayBack/Archive] The Econ 101 Management Method – Joel on Software
Delphi related:
- [WayBack/Archive] plugins – How to Configure SonarQube for delphi? – Stack Overflow
- [WayBack/Archive] GitHub – c-mckenna/sonar-delphi: Sonar Delphi Plugin Sonar Delphi Plugin. Contribute to c-mckenna/sonar-delphi development by creating an account on GitHub.
- [WayBack/Archive] GitHub – SandroLuck/SonarDelphi: This repository contains the source code to the Sonar-Delphi plugin. Can be used to analyse Delphi projects with SonarQube. This repository contains the source code to the Sonar-Delphi plugin. Can be used to analyse Delphi projects with SonarQube. – SandroLuck/SonarDelphi
- [WayBack/Archive] GitHub – fabriciocolombo/sonar-delphi: SonarQube Delphi Plugin SonarQube Delphi Plugin. Contribute to fabriciocolombo/sonar-delphi development by creating an account on GitHub.
- [WayBack/Archive] Are there any static code analysis tools for Delphi/Pascal? – Stack Overflow
--jeroen
Posted in Development, Profiling-Performance-Measurement, Software Development | Leave a Comment »
Laptop fan profiling, and debugging them – related to Profiling | CommitStrip
Posted by jpluimers on 2019/07/23
A while back, I posted the “profiling” CommitStrip on[WayBack] Profiling – Jeroen Wiert Pluimers – Google+. Boy how did I not know that within a week, I bumped into a “laptop fan profiling” artefact.
A coworker noticed, that when starting a thread based equivalent of [WayBack] TTimer Class (which cannot be used in services as it depends on the VCL), then sometimes the laptop fans would spin up.
What basically happened was that for certain combinations of Enabled and Interval the Execute would loop burning 100% of one CPU core.
With 3 or more – sometimes 2 – of these threads active on a 4+4 core (4 are hyper-threaded), the processor fan would start to spin like madness.
Finding the solution was somewhat easy too:
- Process Explorer would show the thread IDs burning the most CPU cycles
- Delphi shows the Thread IDs in the Thread Status pane (if they are named, the ID is at the end of the name in parenthesis)

- At around Delphi 2010, you can Freeze or Thaw threads. This allows you to debug only a single thread by freezing all others.

Focussing on one thread, allowed a close inspection of the loop, quickly finding the actual cause and repairing it.
TTimer Thread
A similar and better class is at [WayBack] multithreading – TTimerThread – Threaded timer class – Code Review Stack Exchange, based on [WayBack] timer – Using VCL TTimer in Delphi console application – Stack Overflow.
Posted in Conference Topics, Conferences, Debugging, Delphi, Development, Event, Fun, Multi-Threading / Concurrency, Profiling-Performance-Measurement, Software Development | Leave a Comment »
Performance Test WCF/WPF app – Selecting right Tool
Posted by jpluimers on 2017/08/26
Interesting read, especially because they did an extensive tool selection process. Not really up to date any more but a good start when you are looking for tools.
–jeroen
[WayBack]
Posted in Development, Profiling-Performance-Measurement, Software Development | Leave a Comment »
SmartBear AQTime links
Posted by jpluimers on 2016/06/02
Since they’re hard to find on-line, and sometimes I need them when not having access to my collective browser or email history:
- http://downloads.smartbear.com/AQALicenseManager.exe
- http://downloads.smartbear.com/AQtimeDemo.exe
- http://downloads.smartbear.com/AQtime824.exe
- http://support.smartbear.com/troubleshooter/?prod=Licensing
Notes:
- The AQTimeDemo.exe is the same as the latest AQTime###.exe (functionality depends in license).
- The installation from Windows Explorer sometimes fails with the below message. Installation from the command-prompt works, but you need to run it from an Administrator command-prompt:
---------------------------
E:\TEMP\AQtime824.exe
---------------------------
Windows cannot access the specified device, path, or file. You may not have the appropriate permissions to access the item.
---------------------------
OK
---------------------------
To get going for my special case, I watched some sample videos (which I did get to work in Internet Explorer but not in Chrome forty-something):
- Profiling Windows Services With AQtime.
- AQtime: Attaching to Process (showing the same service from the first video).
- All: AQtime Screencasts and Videos.
I needed it to do some profiling comparisons of services running under different configurations.
Posted in .NET, Debugging, Delphi, Development, MAP Symbol Information, Profiling-Performance-Measurement, Software Development, TD32/TDS Symbol information, Visual Studio and tools | Leave a Comment »





