I've mentioned before that most of SlimTune's core functionality is pluggable. This actually includes the underlying data storage system. The app works through a fairly simple interface, and even SQL is only used by the visualizers and not the core program. To date, the engine in use was Microsoft's SQL Server Compact Edition (SQLCE). With the next release, I'm introducing support for SQLite as well.
Let's recap. Every other profiler I'm aware of works in more or less the same way. While the application is running, data is written to a file. Once the run is complete, the frontend steps in to parse the data and visualize it one way or another. SlimTune on the other hand allows (encourages, in fact) live visualization while the application is running. It also supports very different visualizations that slice the data in entirely different ways. The enabling technology for these features is the use of an embedded database. I'm not sure why no one else has taken this approach, but my theory at the time was that it was a simple matter of performance. Databases have to be manipulated with SQL, have to store everything in tables, etc. I suspected that updating a database so often was a problem. My goal was to write a blindingly fast database backend that would be capable of handling large amounts of data efficiently.
Read the rest of the post at Ventspace.
Previous Entry
SlimTune: UI Improvements
Next Entry
SlimTune and Services
Comments

February 07, 2010 04:01 PM

Quote:Supported since day 1. It's baked right into the core design.
Original post by NineYearCycle
Could SlimTune be capable of doing co-profiling where the program runs on one machine and the profiler runs on another?
Quote:Actually what I found was that polling timing information (QueryPerformanceCounter) was a dramatic part of the cost in that type of profiling.
I've tried explicit function call profiling (where I've embedded a profiling call within each function) before an the overhead for simply recording that much information is enormous.
February 07, 2010 06:09 PM
Advertisement
Latest Entries
DanceForce V4 DIY DDR Pad Build Thread
8855 views
Games Look Bad, Part 1: HDR and Tone Mapping
8775 views
Sony A77 Mark II: EVF Lag and Blackout Test
2785 views
I Am Dolphin – Kinect Prototype
2588 views
Advertisement
Advertisement
Attempting to do live profiling over the top could be prohibitively costly. Could SlimTune be capable of doing co-profiling where the program runs on one machine and the profiler runs on another?