C++

Empirical Study On How C Devs Use Goto In Practice Says “Not Harmful”

Edsger Dijkstra famously opined in 1968 on the danger of GOTO statements. Mei Nagappan writes with a mellower view, nearly 50 years later:

By qualitatively and quantitatively analyzing a statistically valid random sample from almost 2 million C files and 11K+ projects, we find that developers limit themselves to using goto appropriately in most cases, and not in an unrestricted manner like Dijkstra feared, thus suggesting that goto does not appear to be harmful in practice.

(Here’s the preprint (PDF) linked from above abstract.)

Empirical Study On How C Devs Use Goto In Practice Says “Not Harmful” was originally published on realcoders.org

Red Hat Engineer Improves Math Performance in Glibc

A wonderful Whitepaper entitled "Worst Cases for Correct Rounding of the Elementary Functions in Double Precision" (PDF) has been released. This has prompted Siddhesh Poyarekar from Red Hat to take a professional look into the mathematical functions found in GlibC (the GNU C library.) He has been able to provide an 8-times performance improvement to slowest path of pow() function. Other transcendentals got similar improvements since the fixes were mostly in the generic multiple precision code. These improvements already went into glibc-2.18 upstream. Siddhesh believes that a lot of the low hanging fruit has now been picked, but that this is definitely not the end of the road for improvements in the multiple precision performance. There are other more complicated improvements, like the limitation of worst case precision for exp() and log() functions, based on the results of the paper.

Red Hat Engineer Improves Math Performance in Glibc was originally published on realcoders.org

Stroustrup Reveals What’s New In C++ 0x (C++ 11)

“Bjarne Stroustrup discusses the latest version of C++, which, although not a major overhaul, offers many small upgrades to appeal to different areas of development. From the interview: ‘I like the way move semantics will simplify the way we return large data structures from functions and improve the performance of standard-library types, such as string and vector. People in high-performance areas will appreciate the massive increase in the power of constant expressions (constexpr). Users of the standard library (and some GUI libraries) will probably find lambda expressions the most prominent feature. Everybody will use smaller new features, such as auto (deduce a variables type from its initializer) and the range-for loop, to simplify code.’”

Stroustrup Reveals What’s New In C++ 0x (C++ 11) was originally published on realcoders.org