Remove 2005 Remove Hardware Remove Programming Remove Software
article thumbnail

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

Daniel Lemire

The division by a power of two ( / (2 N )) can be implemented as a right shift if we are working with unsigned integers, which compiles to single instruction: that is possible because the underlying hardware uses a base 2. Thus if 2 N / d has been precomputed, you can compute the division n/d as a multiplication and a shift. Can we do better?

C++ 279
article thumbnail

The Return of the Frame Pointers

Brendan Gregg

To explain this example in more detail: The profiler periodically interrupts software execution, and for those disconnected stacks it happens to be the execution of the kernel software ("vfs*", "ext*", etc.). and we may have been flying close to the edge of hardware cache warmth, where adding a bit more instructions caused a big drop.

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

SQL Server I/O Basics Chapter #2

SQL Server According to Bob

Copyright The information ​​ that is contained ​​ in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication.

Servers 40
article thumbnail

SQL Server On Linux: Forced Unit Access (Fua) Internals

SQL Server According to Bob

CSA ISO/IEC 9945-1:2005 (R2009) 3.375 Synchronized I/O Data Integrity Completion. Refer to the ISO documentation on file integrity for complete details: CSA ISO/IEC 9945-1:2005 (R2009) 3.376 Synchronized I/O File Integrity Completion. Linux may need similar utilities to control various hardware cache installations. Device Flush.

Servers 90
article thumbnail

Linux Load Averages: Solving the Mystery

Brendan Gregg

The oldest change in the entire Linux repo dates back to 2005, when Linus imported Linux 2.6.12-rc2, 90491 N|rnberg (Germany) Consulting+Networking+Programming+etc'ing 42. I generated this using my offcputime tool from [bcc] (this tool needs eBPF features from Linux 4.8+), and my [flame graph] software: #./bcc/tools/offcputime.py

Latency 111