Category Archives: AltDevBlogADay

More Adventures in Failing to Crash Properly

In last week’s episode we discussed how 32-bit processes on 64-bit Windows might corrupt the exception state after a crash, and how any processes on 64-bit Windows might actually continue running after a crash. Serious stuff. This week’s installment of … Continue reading

Posted in AltDevBlogADay, Code Reliability, Programming, Visual Studio | Tagged , , , , | 9 Comments

When Even Crashing Doesn’t Work

I’ve written previously about the importance of crashing in order to improve code quality. However even the seemingly simple task of crashing can be more error prone than you might expect. I’ve recently become aware of two different problems that … Continue reading

Posted in AltDevBlogADay, Code Reliability, Programming, Visual Studio | Tagged , , , , , | 26 Comments

WPA–Xperf Trace Analysis Reimagined

For many years xperfview.exe has been the main tool for analyzing xperf/ETW traces. However starting in fall 2011 the Windows Performance Toolkit started including wpa.exe as an alternative. While the early versions had some significant rough edges, the latest version … Continue reading

Posted in AltDevBlogADay, Performance, Programming, xperf | Tagged , , , | 24 Comments

In Praise of Idleness

“I want to say, in all seriousness, that a great deal of harm is being done in the modern world by belief in the virtuousness of WORK, and that the road to happiness and prosperity lies in an organised diminution … Continue reading

Posted in AltDevBlogADay, Performance, Programming | Tagged , , , , , | 30 Comments

That’s Not Normal–the Performance of Odd Floats

Denormals, NaNs, and infinities round out the set of standard floating-point values, and these important values can sometimes cause performance problems. The good news is, it’s getting better, and there are diagnostics you can use to watch for problems. In … Continue reading

Posted in AltDevBlogADay, Floating Point, Performance, Programming | Tagged , , , , , | 21 Comments

Xperf Wait Analysis–Finding Idle Time

The Windows Performance Toolkit, also known as xperf, is a powerful (and free!) system-wide Windows profiler. In the past I’ve talked about using xperf to identify slowdowns in PowerPoint (tutorial version is here) by using xperf’s built-in sampling profiler, but … Continue reading

Posted in AltDevBlogADay, Investigative Reporting, Performance, Programming, xperf | Tagged , , , , , , , | 46 Comments

Exceptional Floating Point

Floating-point math has an answer for everything, but sometimes that’s not what you want. Sometimes instead of getting an answer to the question sqrt(-1.0) (it’s NaN) it’s better to know that your software is asking imaginary questions. The IEEE standard … Continue reading

Posted in AltDevBlogADay, Floating Point, Programming | Tagged , , , , | 24 Comments

Floating-point complexities

Binary floating-point math is complex and subtle. I’ve collected here a few of my favorite oddball facts about IEEE floating-point math, based on the articles so far in my floating-point series. The focus in this list is on float but … Continue reading

Posted in AltDevBlogADay, Floating Point, Programming | Tagged , , , , , , , , | 15 Comments

Intermediate Floating-Point Precision

Riddle me this Batman: how much precision are these calculations evaluated at? If you answered ‘double’ and ‘float’ then you score one point for youthful idealism, but zero points for correctness. The correct answer, for zero-idealism points and forty two … Continue reading

Posted in AltDevBlogADay, Floating Point, Programming, Visual Studio | Tagged , , , , , | 43 Comments

Float Precision–From Zero to 100+ Digits

How much precision does a float have? It depends on the float, and it depends on what you mean by precision. Typical reasonable answers range from 6-9 decimal digits, but it turns out that you can make a case for … Continue reading

Posted in AltDevBlogADay, Floating Point, Programming | Tagged , , , , , | 52 Comments