article thumbnail

Faster remainders when the divisor is a constant: beating compilers and libdivide

Daniel Lemire

In some instances, libdivide can even be more efficient than compilers because it uses an approach introduced by Robison (2005) where we not only use multiplications and shifts, but also an addition to avoid arithmetic overflows. We also published our benchmarks for research purposes. I make my benchmarking code available.

C++ 279
article thumbnail

The Return of the Frame Pointers

Brendan Gregg

Apart from library code, maybe your application doesn't have frame pointers either, in which case everything is broken. 2005-2023: The winter of broken profilers However, the change was then applied to x86-64 (64-bit) as well, which had sixteen registers and didn't benefit so much from a seventeenth.

Java 145
Insiders

Sign Up for our Newsletter

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Trending Sources

article thumbnail

The Surprising Effectiveness of Non-Overlapping, Sensitivity-Based Performance Models

John McCalpin

The presentation discusses a family of simple performance models that I developed over the last 20 years — originally in support of processor and system design at SGI (1996-1999), IBM (1999-2005), and AMD (2006-2008), but more recently in support of system procurements at The Texas Advanced Computing Center (TACC) (2009-present).

article thumbnail

Web Performance Bookshelf

Rigor

The in-depth explorations are meticulously illustrated and code examples culminate as bulletproof code snippets, applicable to your work right away. In her book, Lara Hogan helps you approach projects with page speed in mind, showing you how to test and benchmark which design choices are most critical. Inclusive Components.

article thumbnail

SQL Server I/O Basics Chapter #2

SQL Server According to Bob

As ​​ the ​​ administrator of a SQL Server 2005 installation, ​​ you will find that ​​ visibility into ​​ the ​​ SQL Server ​​ I/O ​​ subsystem ​​ has been ​​ significantly increased.

Servers 40