A better way to measure and optimize your program’s performance.
Free 14-day trial
What Our Users Have To Say
Superluminal is great. We mostly use it to profile long-running processes and thread interactions (think: servers, content conversion, offline rendering). Its UI is really simple and quickly allows you to go from overview, thread interactions, PC samples, to source and disassembly. We fixed many performance issues, including ones we didn’t even know we had.Michiel van der Leeuw
Superluminal is an utter joy to use. I went from download to profiling in five minutes. An hour later, several embarrassing performance issues were made painfully obvious. After just four days, I got our frame-time down from 50 to 20 milliseconds. It also helped us find and fix a number of concurrency problems that reduced our load-time from 5 to just 1 second.
Thanks again – easily the best money I’ve spent on any software tool.
Why Superluminal Performance?
Superluminal Performance is a visual CPU profiler for C/C++ applications on Windows. We believe that profiling is not just about collecting statistics, but about visualizing and understanding performance data within its context.
Unified Sampling and Instrumentation
Most profilers are either sampling or instrumenting profilers. Both techniques have their strengths and weaknesses. Superluminal combines the two techniques in a unique seamless blend that gives you the best of both worlds.
The threads view is a full recording of all your threads that allow you to browse and smoothly zoom in and out. This visualization brings you context to your profiling workflow in a way that sampling profilers have not seen before.
Dynamic filtering on of areas of interest
When browsing through the recording, you can make selections within the timeline to focus exactly on the things that you are interested in. This makes it incredibly easy to inspect unexpected behavior on the spot.
Understanding thread communication
The Superluminal profiler visualizes thread communication flow at a glance: when threads are executing, waiting, and by what thread they are woken.
Understand what’s happening under the hood
Kernel-level callstacks, in combination with our full recording, provide a wealth of new information that gives great insight on what your program is doing.
What is Superluminal Performance?
Superluminal Performance has a rich set of features. We believe that a great profiler should match real-life performance optimization scenarios.
High frequency sampling
High frequency sampling (8Khz) allows you to hit the ground running without the need to make any code modifications. Sampling can start right from the start of the application, allowing you to inspect application startup, including DLL loading, the static initialization phase and more.
The timeline shows you what all threads are doing over time. It allows you to quickly find the hotspots in your code. Its true power comes from being able to understand the context around your code. Was your code called too many times? Should it have been called at all? The timeline view lets you analyze this context in a way that hasn’t been seen before.
Understanding the complex interactions between threads in a program can be key in resolving performance issues. These complex interactions are visualized in an intuitive interactive interface that allows you to inspect blocking and unblocking callstacks and easily navigate between them.
The API allows you to instrument relevant code in your application. This can be helpful to improve precision where needed, or to add contextual information like a filename, a size or an ID to an event. The instrumentation data is seamlessly integrated into all views in the profiler.
This instrumentation chart is a powerful way to quickly see average and peak performance behavior. A typical example for real-time rendering applications is that of a single rendering frame. When clicking on an event in the chart, all other views will navigate to the matching instrumentation event, allowing you to further investigate in detail.
The callgraph can operate on the entire time range, but it can also filter out on the time selection that was made in the threads view. A pie chart clearly shows the time distribution of the selected node’s children at a glance.
The source view displays source code along with per line timing and thread state information. To drill down even deeper, a mixed mode disassembly view lets you view per-instruction timing information. If no source code is available, the disassembly is displayed.
At Superluminal, we have a passion for high performance software. We have decades of experience working on the nuts and bolts of real-time software, including high-profile video game franchises such as Halo and Horizon: Zero Dawn. Being frustrated with the lack of good performance optimization tools, Superluminal was founded in 2017 with the mission to build a fresh, new generation of high quality performance tools to help our users push their software to the maximum.
We'd love to hear from you!
We’re very eager to hear what you think about our products. If you’re having issues using the profiler or if you want to share how we could optimize the profiler for your specific workflow, please let us know.
For support, please contact us at firstname.lastname@example.org. For general inquiries, please contact us at email@example.com or use the form below.