Diferență între revizuiri ale paginii „PC Lab 1”

De la WikiLabs
Jump to navigationJump to search
Linia 11: Linia 11:
 
loop unrolling
 
loop unrolling
  
bit-tricks
+
optimizing variables into registers
  
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