Hi! đź‘‹

I’m Tom, the developer of NProfiler.

NProfiler is a byproduct of a long-term research project focused on the data processing fundamentals of the human brain. As part of this work, I frequently run simulations written in my favorite language, C#.

A long time ago, I bought a .NET performance profiler from a well-known company (you’d definitely recognize the name) to speed up those simulations. After a few sessions, I realized their profiler was often leading me to optimize the wrong areas due to inaccurate time measurements. I found that every other profiler on the market suffered from the same issue.

This sparked my curiosity: how does a profiler actually work, and can it be done better? After a lot of deep thinking, I eventually found a solution to the "profiler overhead problem" that causes those inaccuracies. The result is NProfiler.

Today, NProfiler funds my research. I’m gradually adding more features, though my goal isn't to bloat the software, but to keep it focused and effective.

Feel free to reach out anytime if you have questions!

Contact

Company

Corvios GmbH is a privately-held Austrian software company. Austria is a German-speaking country in the heart of the European Union. The company was founded in 2009.

Address
Corvios GmbH, BaudoplerstraĂźe 20,
4701 Bad Schallerbach, Austria
CEO

Thomas Zehetner-Schatzl

Details

Commercial register number: FN324459x
Commercial register court: 4600 Wels, Austria
EU VAT number: ATU64809915

  • June 2023

    Release of the completely rewritten NProfiler 5

    NProfiler 5 is almost a complete rewrite, from the UI to the profiler core. In this version, I’ve eliminated all the "rookie mistakes" of the past and incorporated everything I’ve learned since then. Among other things, this version features a completely new and much more stable overhead compensation algorithm, a new SQLite-based file format, and a significantly improved UI.

  • September 2015

    Initial release of NProfiler 1.0

    The first version had a rather ugly UI, but it already featured an overhead compensation algorithm that usually delivered more accurate execution times than other tools. However, it was still a bit unstable back then. Today's version works completely differently and is far more stable—but I was already selling my first licenses!

  • 2012

    Development started

    I wanted a profiler that combined the benefits of instrumentation—such as the availability of hit counts—with the timing accuracy of a sampling profiler. However, I quickly discovered why every existing tool failed at this: the code injected by instrumentation massively altered the execution of the profiled application. At first, it seemed almost impossible to accurately estimate and subtract these overhead effects.