Category Archives: Performance

Zeroing Memory is Hard (VC++ 2015 arrays)

Quick, what’s the difference between these two C/C++ definitions of initialized local variables? char buffer[32] = { 0 };char buffer[32] = {}; One difference is that the first is legal in C and C++, whereas the second is only legal … Continue reading

Posted in Performance, Programming, Visual Studio | Tagged , , | 23 Comments

UIforETW is No Longer a CPU Hog

A few months ago I wrote about how many processes on my system were waking up and wasting CPU time for no good reason, thus wasting battery power, electricity, and CPU power. I was surprised that nobody called me out … Continue reading

Posted in Performance, uiforetw, xperf | Tagged , | 6 Comments

Power Wastage On An Idle Laptop

Ever since I upgraded to Windows 10 it’s felt like my battery life is worse. My suspicion was various scanning tasks that were springing to life more frequently, but it was just a hunch. So, I did what I do … Continue reading

Posted in Investigative Reporting, Performance, Programming, uiforetw, xperf | Tagged , | 33 Comments

Making a 4K Fractal Movie with Fractal eXtreme

Four years ago I created a HD fractal movie because I wanted to see how quickly Fractal eXtreme could calculate the same movie that Orson Wang had posted to youtube. My version of his movie was antialiased and 720p and … Continue reading

Posted in Fractals, Performance | Tagged | 16 Comments

Xperf Basics: Recording a Trace (the ultimate easy way)

This post can be found through https://tinyurl.com/etwtracing, and an alternate version of these instructions can be found here. If your Windows computer is running slowly – if a program takes a long time to launch, if a game has a … Continue reading

Posted in Performance, Programming, uiforetw, xperf | Tagged , , | 50 Comments

Graph All the Things (Using WPT 10)

Event Tracing for Windows (ETW) has always recorded a rich set of data and allowed graphing it all on the same timeline. With the creation of UIforETW (which records more data) and the new* ETW trace viewer (which can graph … Continue reading

Posted in Performance, Programming, xperf | Tagged , , , , , , | 16 Comments

Programming is Puzzles

When I’m describing what I do for a living to non-programmers I sometimes say that I solve puzzles. I solve fascinating puzzles that are different every day, and there’s no answer key, and very often nobody else knows the solution. … Continue reading

Posted in Investigative Reporting, Performance, Programming, Visual Studio | Tagged , , , | 11 Comments

Profiling the profiler: working around a six minute xperf hang

Anytime my computer is a little bit slow I’m likely to record a trace and take a quick look. If I’m lucky I’ll find an easy workaround, in which case I’ve got a potential blog post and a smoother running … Continue reading

Posted in Investigative Reporting, Performance, Programming, xperf | Tagged , | 15 Comments

ETW Trace Compression (and xperf syntax refresher)

Despite extolling the virtues of wprui for recording ETW traces (here, and here) I’ve actually returned to using xperf.exe in batch files to do most of my trace recording. It gives me more precise control over what is recorded, and … Continue reading

Posted in Performance, Programming, xperf | Tagged , | 17 Comments

Knowing Where to Type ‘Zero’

Some code optimizations requires complex data structures and thousands lines of code. But, in a surprising number of cases, significant improvements can be made by simple changes – sometimes as simple as typing a single zero. It’s like the old … Continue reading

Posted in Performance | Tagged , , , | 26 Comments