PC Lab 1

De la WikiLabs
Versiunea din 7 martie 2018 22:54, autor: Cbira (discuție | contribuții) (Pagină nouă: Session 1, x86 optimization: C/C++: increase the execution speed for the code that reverses the order of the bits composing a 100 M esantioane of unsigned 32-bit (eg. 10111...11...)
(dif) ← Versiunea anterioară | Versiunea curentă (dif) | Versiunea următoare → (dif)
Jump to navigationJump to search

Session 1, x86 optimization:

C/C++: increase the execution speed for the code that reverses the order of the bits composing a 100 M esantioane of unsigned 32-bit (eg. 10111...11 -> 11..11101)

Expected/Presented techniques:

first implementation ~ 10 seconds

compiler optimized ~ 5 seconds

loop unrolling

bit-tricks

optimizing variables into registers

256-entry 8-bit table of 1 KB

16-bit table of 64 k entries (256 KB)

32-bit table of 4 G entries (16 GB)