Diferență între revizuiri ale paginii „PC Lab 1”
De la WikiLabs
Jump to navigationJump to searchCbira (discuție | contribuții) |
Cbira (discuție | contribuții) |
||
Linia 11: | Linia 11: | ||
loop unrolling | loop unrolling | ||
− | + | optimizing variables into registers | |
− | + | bit-tricks 500 ms | |
− | 256-entry 8-bit table of 1 KB | + | 256-entry 8-bit table of 1 KB ~ 400 ms |
− | 16-bit table of 64 k entries (256 KB) | + | 16-bit table of 64 k entries (256 KB) ~ 200 ms |
− | 32-bit table of 4 G entries (16 GB) | + | 32-bit table of 4 G entries (16 GB) ~ 66 ms |
Versiunea de la data 7 martie 2018 22:55
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
optimizing variables into registers
bit-tricks 500 ms
256-entry 8-bit table of 1 KB ~ 400 ms
16-bit table of 64 k entries (256 KB) ~ 200 ms
32-bit table of 4 G entries (16 GB) ~ 66 ms