Help / Release / J 5.04 / f/ .g Improved
< Help
Jump to navigation
Jump to search
>> << Pri JfC LJ Phr Dic Voc !: Rel NuVoc wd Help Release
f/ .g Improved |
initial writing: 2004-09-01 |
The following inner products are now faster (and also leaner for the Boolean inner products).
+/ .* | Boolean, integer, floating point, complex | |||
+./ .*. | +./ .* | Boolean; faster and leaner | ||
~:/ .*. | ~:/ .* | Boolean; faster and leaner |
The improvement is minor with small arrays but is substantial with larger arrays, and is larger for CPUs with a large on-die cache. The following benchmarks demonstrate the improvement.
m | p | n | Type | J5.04 | J5.03 | Ratio | |||||||||
+./ .*. | 800 | 100 | 800 | Boolean | 0.01229828 | 0.06245972 | 5.08 | ||||||||
800 | 200 | 800 | Boolean | 0.02436215 | 0.12242737 | 5.03 | |||||||||
800 | 400 | 800 | Boolean | 0.04842964 | 0.48997266 | 10.12 | |||||||||
800 | 800 | 800 | Boolean | 0.10693234 | 1.19284602 | 11.16 | |||||||||
+/ .* | 800 | 100 | 800 | Boolean | 0.01522230 | 0.04825642 | 3.17 | ||||||||
800 | 200 | 800 | Boolean | 0.02714897 | 0.09307329 | 3.43 | |||||||||
800 | 400 | 800 | Boolean | 0.05281650 | 0.18381550 | 3.48 | |||||||||
800 | 800 | 800 | Boolean | 0.11380058 | 0.36863960 | 3.24 | |||||||||
+/ .* | 800 | 100 | 800 | integer | 0.18923574 | 0.16371892 | 0.87 | ||||||||
800 | 200 | 800 | integer | 0.38702915 | 0.42442516 | 1.10 | |||||||||
800 | 400 | 800 | integer | 0.75412938 | 0.86987551 | 1.15 | |||||||||
800 | 800 | 800 | integer | 1.49535773 | 4.33534356 | 2.90 | |||||||||
+/ .* | 800 | 100 | 800 | real | 0.22889839 | 0.74948352 | 3.27 | ||||||||
800 | 200 | 800 | real | 0.44844771 | 1.53543945 | 3.42 | |||||||||
800 | 400 | 800 | real | 0.89166200 | 4.73978968 | 5.32 | |||||||||
800 | 800 | 800 | real | 1.77981982 | 10.93269003 | 6.14 | |||||||||
+/ .* | 800 | 100 | 800 | complex | 0.65384512 | 0.98544341 | 1.51 | ||||||||
800 | 200 | 800 | complex | 1.31073778 | 2.74356425 | 2.09 | |||||||||
800 | 400 | 800 | complex | 2.61397222 | 5.95522645 | 2.28 | |||||||||
800 | 800 | 800 | complex | 5.21419328 | 12.33558427 | 2.37 |