Changes
Page history
Update ShiftAnalysis
authored
Jun 29, 2018
by
Chris Cox
Show whitespace changes
Inline
Side-by-side
ShiftAnalysis.md
View page @
74a64efa
...
@@ -485,7 +485,9 @@ number time per second test0
...
@@ -485,7 +485,9 @@ number time per second test0
54 "int64_t right shift zero" 49.89 sec 962.11 M 1.53
54 "int64_t right shift zero" 49.89 sec 962.11 M 1.53
55 "int64_t left shift zero" 49.54 sec 968.85 M 1.52
55 "int64_t left shift zero" 49.54 sec 968.85 M 1.52
```
```
*
*
These are so slow it isn't easy to tell if any of them are being optimized at all.
*
This is between 4x and 30x slower than LLVM generated code.
### Variable Shifts
### Variable Shifts
```
```
...
@@ -525,7 +527,8 @@ number time per second test0
...
@@ -525,7 +527,8 @@ number time per second test0
30 "int64_t variable left shift" 126.30 sec 380.05 M 2.49
30 "int64_t variable left shift" 126.30 sec 380.05 M 2.49
31 "int64_t repeated variable left shift" 174.56 sec 274.97 M 3.44
31 "int64_t repeated variable left shift" 174.56 sec 274.97 M 3.44
```
```
*
*
Again incredibly slow and difficult to tell if anything is being optimized.
### Constant Mask Low
### Constant Mask Low
```
```
...
@@ -549,7 +552,7 @@ number time per second test0
...
@@ -549,7 +552,7 @@ number time per second test0
14 "int64_t constant mask low" 51.32 sec 935.27 M 2.40
14 "int64_t constant mask low" 51.32 sec 935.27 M 2.40
15 "int64_t constant mask low by shift" 51.40 sec 933.92 M 2.40
15 "int64_t constant mask low by shift" 51.40 sec 933.92 M 2.40
```
```
*
*
Again incredibly slow and difficult to tell if anything is being optimized.
### Variable Mask Low
### Variable Mask Low
...
@@ -574,7 +577,7 @@ number time per second test0
...
@@ -574,7 +577,7 @@ number time per second test0
14 "int64_t variable mask low" 86.08 sec 557.61 M 4.08
14 "int64_t variable mask low" 86.08 sec 557.61 M 4.08
15 "int64_t variable mask low by shift" 85.90 sec 558.78 M 4.07
15 "int64_t variable mask low by shift" 85.90 sec 558.78 M 4.07
```
```
*
*
Again incredibly slow and difficult to tell if anything is being optimized.
### Constant Mask High
### Constant Mask High
...
@@ -591,7 +594,7 @@ number time per second test0
...
@@ -591,7 +594,7 @@ number time per second test0
6 "uint64_t constant mask high" 49.59 sec 967.99 M 2.35
6 "uint64_t constant mask high" 49.59 sec 967.99 M 2.35
7 "uint64_t constant mask high by shift" 49.07 sec 978.24 M 2.33
7 "uint64_t constant mask high by shift" 49.07 sec 978.24 M 2.33
```
```
*
*
Again incredibly slow and difficult to tell if anything is being optimized.
### Variable Mask High
### Variable Mask High
...
@@ -608,8 +611,4 @@ number time per second test0
...
@@ -608,8 +611,4 @@ number time per second test0
6 "uint64_t variable mask high" 49.25 sec 974.53 M 2.42
6 "uint64_t variable mask high" 49.25 sec 974.53 M 2.42
7 "uint64_t variable mask high by shift" 49.34 sec 972.80 M 2.42
7 "uint64_t variable mask high by shift" 49.34 sec 972.80 M 2.42
```
```
*
*
Again incredibly slow and difficult to tell if anything is being optimized.