Diferență între revizuiri ale paginii „Performance analysis and optimization”

De la WikiLabs
Jump to navigationJump to search
(Pagină nouă: Lucrarea 1: 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) Exp...)
 
Linia 1: Linia 1:
Lucrarea 1:  
+
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)
 
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:  
 
Expected/Presented techniques:  
 +
 
first implementation ~ 10 seconds
 
first implementation ~ 10 seconds
 +
 
compiler optimized ~ 5 seconds
 
compiler optimized ~ 5 seconds
 +
 
loop unrolling
 
loop unrolling
 +
 
bit-tricks
 
bit-tricks
 +
 
optimizing variables into registers
 
optimizing variables into registers
 +
 
256-entry 8-bit table of 1 KB
 
256-entry 8-bit table of 1 KB
 +
 
16-bit table of 64 k entries (256 KB)
 
16-bit table of 64 k entries (256 KB)
 +
 
32-bit table of 4 G entries (16 GB)
 
32-bit table of 4 G entries (16 GB)

Versiunea de la data 7 martie 2018 22:52

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)