Skip to content

Latest commit

 

History

History
556 lines (532 loc) · 59.1 KB

README.md

File metadata and controls

556 lines (532 loc) · 59.1 KB

Performance

The following is a list of tables of the performance result from using the 'hpmassert --performance' command.

Intel I7 2600k

Function NOSIMD SSE SSE2 SSE3 SSSE3 SSE41 SSE42 AVX
hpm_mat4x4_copyfv 1.000 1.375 1.375 1.375 1.375 1.375 1.376 1.032
hpm_mat4x4_multiply_mat4x4fv 1.000 2.949 2.936 2.925 2.949 2.899 2.939 3.476
hpm_mat4x4_multiply_mat1x4fv 1.000 2.352 2.352 2.352 2.352 2.353 2.354 2.537
hpm_mat4x4_identityfv 1.143 1.143 1.143 1.143 1.143 1.143 1.143 1.000
hpm_mat4x4_transposefv 1.111 1.000 1.000 1.000 1.000 1.000 1.000 1.213
hpm_mat4x4_determinantfv 1.111 1.000 1.000 1.000 1.000 1.000 1.000 1.212
hpm_mat4x4_inversefv 1.000 1.035 1.035 1.035 1.035 1.035 1.028 1.128
hpm_mat4x4_decomposefv 1.008 1.008 1.008 1.009 1.008 1.008 1.008 1.000
hpm_mat4x4_translationfv 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
hpm_mat4x4_scalefv 1.125 1.125 1.124 1.125 1.125 1.000 1.000 1.000
hpm_mat4x4_rotationfv 1.000 1.000 1.000 1.000 1.000 1.013 1.013 1.231
hpm_mat4x4_rotationXf 1.000 1.000 1.000 1.000 1.000 1.033 1.033 1.034
hpm_mat4x4_rotationYf 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.064
hpm_mat4x4_rotationZf 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.051
hpm_mat4x4_rotationQf 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.089
hpm_mat4x4_projfv 1.004 1.004 1.004 1.004 1.004 1.000 1.000 1.003
hpm_mat4x4_orthfv 1.000 1.000 1.000 1.000 1.000 1.005 1.005 1.010
hpm_mat4x4_unprojf 1.000 1.215 1.216 1.214 1.216 1.216 1.216 1.280
hpm_vec4_com_eqfv 1.000 6.667 6.668 6.668 6.667 6.667 6.667 6.666
hpm_vec4_eqfv 1.000 3.906 3.906 3.905 3.906 3.906 3.906 4.464
hpm_vec4_com_neqfv 1.000 2.572 2.572 2.572 2.571 2.571 2.571 2.571
hpm_vec4_neqfv 1.445 1.000 1.000 1.000 1.000 1.000 1.000 1.858
hpm_vec4_com_gfv 1.000 1.833 1.831 1.833 1.833 1.833 1.833 1.833
hpm_vec4_com_lfv 1.000 1.714 1.714 1.714 1.714 1.714 1.714 1.714
hpm_mat4_eqfv 1.000 2.402 2.408 2.403 2.405 2.408 2.408 2.408
hpm_mat4_neqfv 1.000 2.137 2.137 2.138 2.137 2.376 2.376 2.376
hpm_quat_copyfv 1.001 1.000 1.001 1.001 1.001 1.001 1.001 1.001
hpm_quat_multi_quatfv 1.000 1.290 1.290 1.291 1.290 1.291 1.290 1.994
hpm_quat_multi_vec3fv 1.000 1.256 1.256 1.250 1.249 1.254 1.255 1.289
hpm_quat_directionfv 1.000 1.214 1.214 1.214 1.214 1.214 1.214 1.164
hpm_quat_get_vectorfv 1.000 1.188 1.188 1.188 1.188 1.188 1.188 1.156
hpm_quat_conjugatefv 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
hpm_quat_inversefv 1.000 1.002 1.002 1.002 1.002 1.002 1.002 1.018
hpm_quat_dotfv 1.424 1.429 1.429 1.429 1.429 1.000 1.000 1.000
hpm_quat_identityfv 1.001 1.001 1.001 1.001 1.001 1.001 1.000 1.001
hpm_quat_axis_anglefv 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.046
hpm_quat_from_mat4x4fv 1.001 1.001 1.001 1.001 1.000 1.000 1.000 1.000
hpm_quat_axisf 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.104
hpm_quat_lerpfv 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
hpm_quat_slerpfv 1.054 1.138 1.138 1.143 1.143 1.045 1.045 1.000
hpm_quat_pitchfv 1.000 1.001 1.000 1.001 1.001 1.001 1.000 1.115
hpm_quat_yawfv 1.001 1.000 1.000 1.000 1.000 1.000 1.000 1.116
hpm_quat_rollfv 1.001 1.000 1.000 1.001 1.000 1.000 1.001 1.115
hpm_quat_eularfv 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.097
hpm_quat_powfv 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.003
hpm_vec4_maxfv 1.000 1.251 1.251 1.251 1.251 1.251 1.251 1.251
hpm_vec8_maxfv 1.000 1.143 1.143 1.143 1.143 1.143 1.143 1.332
hpm_vec4_minfv 1.000 1.251 1.251 1.251 1.251 1.251 1.251 1.251
hpm_vec8_minfv 1.000 2.330 2.333 2.333 2.333 2.333 2.333 2.331
hpm_vec4_sqrtfv 1.000 3.144 3.144 3.140 3.144 3.144 3.144 1.830
hpm_vec8_sqrtfv 1.000 8.526 8.525 8.526 8.525 8.525 8.526 3.551
hpm_vec4_fast_sqrtfv 1.000 7.335 7.334 7.335 7.335 7.333 7.335 7.335
hpm_vec8_fast_sqrtfv 1.000 14.001 14.001 14.001 14.001 14.001 14.001 14.001
hpm_vec4_copyfv 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
hpm_vec4_dotfv 1.375 1.567 1.572 1.571 1.572 1.000 1.000 1.000
hpm_vec4_lengthfv 1.000 1.001 1.001 1.001 1.001 1.001 1.001 1.001
hpm_vec4_lengthsqurefv 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
hpm_vec4_normalizefv 1.000 1.020 1.020 1.020 1.020 1.020 1.020 1.036
hpm_vec4_negatefv 1.043 1.000 1.043 1.005 1.005 1.014 1.010 1.014
hpm_vec4_lerpfv 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000
hpm_vec4_slerpfv 1.000 1.021 1.020 1.021 1.021 1.021 1.021 1.031
hpm_vec4_max_compfv 1.000 1.857 1.857 1.857 1.857 1.857 1.857 1.857
hpm_vec4_min_compfv 1.000 2.295 2.294 2.295 2.295 2.295 2.295 2.295
hpm_vec3_crossproductfv 1.000 1.054 1.055 1.055 1.055 1.055 1.055 1.356
hpm_vec3_tripleProductfv 1.651 1.000 1.000 1.000 1.000 1.063 1.063 1.061
hpm_vec3_dotfv 2.746 1.000 1.000 1.000 1.000 1.081 1.081 1.081
hpm_vec3_lengthfv 3.269 1.018 1.018 1.019 1.019 1.019 1.019 1.000
hpm_vec3_lengthsquarefv 2.786 1.026 1.026 1.026 1.026 1.026 1.026 1.000
hpm_vec3_normalizefv 1.226 1.000 1.000 1.000 1.000 1.000 1.000 1.013
hpm_vec3_reflectfv 2.738 1.000 1.000 1.000 1.000 1.048 1.048 1.179
hpm_vec3_refractfv 2.373 1.000 1.000 1.000 1.000 1.048 1.048 1.116
hpm_vec3_projfv 2.471 1.002 1.002 1.000 1.000 1.047 1.047 1.048

i7-8750H

Using GCC 9.3

Function NOSIMD SSE SSE2 SSE3 SSSE3 SSE41 SSE42 AVX
hpm_mat4x4_copyfv 1.000 1.138 1.169 1.138 1.161 1.358 1.361 1.233
hpm_mat4x4_multiply_mat4x4fv 1.000 2.906 2.995 2.958 2.977 3.006 2.998 3.373
hpm_mat4x4_multiply_mat1x4fv 1.000 2.435 2.638 2.638 2.582 2.219 2.225 2.280
hpm_mat4x4_identityfv 1.648 1.348 1.382 1.379 1.375 1.663 1.657 1.000
hpm_mat4x4_transposefv 1.000 1.152 1.155 1.156 1.158 1.153 1.159 1.147
hpm_mat4x4_determinantfv 1.000 1.166 1.183 1.182 1.170 1.180 1.172 1.181
hpm_mat4x4_inversefv 1.000 1.083 1.086 1.086 1.083 1.082 1.084 1.110
hpm_mat4x4_decomposefv 1.000 1.012 1.008 1.013 1.010 1.011 1.006 1.005
hpm_mat4x4_translationfv 1.005 1.004 1.043 1.016 1.043 1.043 1.041 1.000
hpm_mat4x4_scalefv 1.023 1.002 1.028 1.011 1.029 1.025 1.023 1.000
hpm_mat4x4_rotationfv 1.018 1.015 1.021 1.019 1.000 1.025 1.027 1.058
hpm_mat4x4_rotationXf 1.000 1.003 1.020 1.021 1.018 1.030 1.029 1.013
hpm_mat4x4_rotationYf 1.000 1.004 1.011 1.019 1.005 1.031 1.032 1.006
hpm_mat4x4_rotationZf 1.015 1.000 1.050 1.053 1.033 1.051 1.044 1.071
hpm_mat4x4_rotationQf 1.000 1.000 1.016 1.010 1.005 1.009 1.009 1.083
hpm_mat4x4_projfv 1.030 1.032 1.043 1.037 1.000 1.114 1.113 1.157
hpm_mat4x4_orthfv 1.006 1.000 1.015 1.016 1.009 1.040 1.040 1.038
hpm_mat4x4_unprojf 1.000 1.277 1.282 1.262 1.272 1.267 1.269 1.264
hpm_vec4_com_eqfv 1.000 6.908 6.924 6.884 6.710 6.825 6.820 6.484
hpm_vec4_eqfv 1.000 4.100 4.161 4.213 4.199 4.125 4.172 3.499
hpm_vec4_com_neqfv 1.000 2.850 2.911 2.958 2.888 2.818 2.912 2.911
hpm_vec4_neqfv 1.727 1.003 1.000 1.018 1.002 1.026 1.024 2.443
hpm_vec4_com_gfv 1.000 2.240 2.252 2.244 2.239 2.244 2.222 2.237
hpm_vec4_com_lfv 1.000 2.074 2.064 2.039 2.034 2.066 2.052 2.059
hpm_mat4_eqfv 1.000 2.303 2.340 2.350 2.307 2.664 2.615 2.286
hpm_mat4_neqfv 1.000 2.224 2.279 2.288 2.293 2.626 2.625 2.606
hpm_quat_copyfv 1.025 1.029 1.025 1.015 1.023 1.025 1.000 1.025
hpm_quat_multi_quatfv 1.000 1.863 1.911 1.904 1.903 1.894 1.827 2.153
hpm_quat_multi_vec3fv 1.000 1.128 1.130 1.098 1.117 1.141 1.138 1.133
hpm_quat_directionfv 1.000 1.088 1.085 1.064 1.060 1.073 1.063 1.073
hpm_quat_get_vectorfv 1.000 1.152 1.165 1.131 1.148 1.162 1.167 1.161
hpm_quat_conjugatefv 1.008 1.000 1.023 1.021 1.023 1.016 1.016 1.015
hpm_quat_inversefv 1.010 1.056 1.057 1.006 1.000 1.007 1.007 1.007
hpm_quat_dotfv 1.141 1.164 1.199 1.439 1.429 1.028 1.028 1.000
hpm_quat_identityfv 1.026 1.011 1.012 1.015 1.005 1.006 1.008 1.000
hpm_quat_axis_anglefv 1.000 1.025 1.023 1.019 1.018 1.022 1.023 1.027
hpm_quat_from_mat4x4fv 1.000 1.009 1.043 1.007 1.037 1.040 1.035 1.065
hpm_quat_axisf 1.005 1.000 1.009 1.009 1.008 1.006 1.008 1.029
hpm_quat_lerpfv 1.038 1.026 1.019 1.024 1.035 1.000 1.032 1.017
hpm_quat_slerpfv 1.024 1.048 1.049 1.125 1.118 1.039 1.061 1.000
hpm_quat_pitchfv 1.013 1.012 1.007 1.007 1.004 1.012 1.000 1.033
hpm_quat_yawfv 1.000 1.018 1.014 1.016 1.022 1.014 1.013 1.059
hpm_quat_rollfv 1.011 1.015 1.027 1.000 1.022 1.024 1.026 1.076
hpm_quat_eularfv 1.025 1.023 1.037 1.000 1.028 1.031 1.044 1.055
hpm_quat_powfv 1.019 1.007 1.004 1.005 1.000 1.010 1.007 1.003
hpm_vec4_maxfv 1.000 1.242 1.249 1.261 1.266 1.266 1.265 1.246
hpm_vec8_maxfv 1.000 1.076 1.124 1.097 1.206 1.152 1.046 1.180
hpm_vec4_minfv 1.000 1.177 1.176 1.167 1.188 1.186 1.194 1.144
hpm_vec8_minfv 1.000 2.266 2.262 2.169 2.258 1.883 1.883 2.239
hpm_vec4_sqrtfv 1.000 7.948 7.919 7.750 7.907 7.863 7.971 7.876
hpm_vec8_sqrtfv 1.000 19.047 19.114 18.933 19.109 18.955 19.114 15.880
hpm_vec4_fast_sqrtfv 1.000 9.611 9.617 9.617 9.549 9.613 9.614 9.647
hpm_vec8_fast_sqrtfv 1.000 18.969 19.035 19.035 18.831 18.970 18.910 18.970
hpm_vec4_copyfv 1.015 1.006 1.005 1.003 1.003 1.000 1.003 1.000
hpm_vec4_dotfv 1.277 1.338 1.342 1.605 1.604 1.004 1.000 1.002
hpm_vec4_lengthfv 1.000 1.145 1.144 1.100 1.101 1.105 1.097 1.084
hpm_vec4_lengthsqurefv 1.024 1.019 1.028 1.225 1.225 1.229 1.225 1.000
hpm_vec4_normalizefv 1.000 1.056 1.059 1.014 1.003 1.013 1.015 1.009
hpm_vec4_negatefv 1.093 1.000 1.069 1.050 1.074 1.066 1.097 1.036
hpm_vec4_lerpfv 1.000 1.062 1.060 1.070 1.062 1.070 1.070 1.070
hpm_vec4_slerpfv 1.000 1.074 1.077 1.044 1.045 1.035 1.038 1.034
hpm_vec4_max_compfv 1.000 2.705 2.769 2.295 2.313 2.771 2.710 2.662
hpm_vec4_min_compfv 1.000 1.808 1.844 2.213 2.181 1.865 1.824 1.835
hpm_vec3_crossproductfv 1.000 1.328 1.333 1.319 1.318 1.329 1.314 1.552
hpm_vec3_tripleProductfv 1.703 1.042 1.040 1.000 1.004 1.063 1.058 1.063
hpm_vec3_dotfv 3.234 1.072 1.068 1.014 1.000 1.099 1.094 1.097
hpm_vec3_lengthfv 3.415 1.067 1.064 1.020 1.020 1.021 1.015 1.000
hpm_vec3_lengthsquarefv 2.768 1.092 1.090 1.034 1.036 1.022 1.033 1.000
hpm_vec3_normalizefv 1.279 1.037 1.040 1.004 1.003 1.000 1.005 1.004
hpm_vec3_reflectfv 2.805 1.051 1.045 1.000 1.009 1.061 1.062 1.138
hpm_vec3_refractfv 2.775 1.036 1.059 1.000 1.012 1.074 1.062 1.141
hpm_vec3_projfv 2.730 1.060 1.069 1.000 1.026 1.078 1.078 1.079

Intel Atom CPU D525

Using GCC 8.3

Function NOSIMD SSE SSE2 SSE3 SSSE3
hpm_mat4x4_copyfv 1.000 1.002 1.000 1.000 1.000
hpm_mat4x4_multiply_mat4x4fv 1.000 2.210 2.207 2.206 2.206
hpm_mat4x4_multiply_mat1x4fv 1.000 1.897 1.895 1.895 1.895
hpm_mat4x4_identityfv 1.000 1.001 1.000 1.000 1.000
hpm_mat4x4_transposefv 1.000 1.231 1.230 1.229 1.229
hpm_mat4x4_determinantfv 1.000 1.231 1.228 1.229 1.229
hpm_mat4x4_inversefv 1.020 1.001 1.000 1.000 1.000
hpm_mat4x4_decomposefv 1.000 1.001 1.000 1.000 1.000
hpm_mat4x4_translationfv 1.000 1.001 1.001 1.000 1.000
hpm_mat4x4_scalefv 1.000 1.001 1.000 1.000 1.000
hpm_mat4x4_rotationfv 1.000 1.002 1.001 1.001 1.001
hpm_mat4x4_rotationXf 1.005 1.005 1.000 1.004 1.005
hpm_mat4x4_rotationYf 1.012 1.012 1.000 1.012 1.012
hpm_mat4x4_rotationZf 1.010 1.011 1.000 1.010 1.010
hpm_mat4x4_rotationQf 1.009 1.010 1.000 1.009 1.009
hpm_mat4x4_projfv 1.008 1.007 1.000 1.008 1.008
hpm_mat4x4_orthfv 1.007 1.007 1.000 1.006 1.006
hpm_mat4x4_unprojf 1.000 1.202 1.197 1.202 1.202
hpm_vec4_com_eqfv 1.000 4.398 4.386 4.396 4.393
hpm_vec4_eqfv 1.000 2.323 2.317 2.322 2.322
hpm_vec4_com_neqfv 1.000 1.959 1.954 1.958 1.958
hpm_vec4_neqfv 1.061 1.003 1.000 1.002 1.002
hpm_vec4_com_gfv 1.000 1.855 1.850 1.854 1.854
hpm_vec4_com_lfv 1.000 1.858 1.853 1.857 1.857
hpm_mat4_eqfv 1.707 1.002 1.000 1.002 1.002
hpm_mat4_neqfv 1.706 1.002 1.000 1.001 1.001
hpm_quat_copyfv 1.001 1.001 1.000 1.001 1.001
hpm_quat_multi_quatfv 1.000 1.275 1.273 1.275 1.275
hpm_quat_multi_vec3fv 1.000 1.007 1.005 1.006 1.007
hpm_quat_directionfv 1.000 1.017 1.015 1.017 1.015
hpm_quat_get_vectorfv 1.000 1.006 1.005 1.007 1.006
hpm_quat_conjugatefv 1.001 1.001 1.000 1.001 1.001
hpm_quat_inversefv 1.000 1.033 1.032 1.008 1.008
hpm_quat_dotfv 1.000 1.038 1.037 1.000 1.000
hpm_quat_identityfv 1.001 1.001 1.000 1.001 1.001
hpm_quat_axis_anglefv 1.001 1.001 1.000 1.001 1.000
hpm_quat_from_mat4x4fv 1.001 1.001 1.000 1.001 1.001
hpm_quat_axisf 1.002 1.002 1.002 1.002 1.000
hpm_quat_lerpfv 1.000 1.000 1.000 1.000 1.000
hpm_quat_slerpfv 1.000 1.009 1.009 1.001 1.000
hpm_quat_pitchfv 1.000 1.000 1.000 1.000 1.000
hpm_quat_yawfv 1.000 1.000 1.001 1.000 1.000
hpm_quat_rollfv 1.000 1.000 1.000 1.000 1.000
hpm_quat_eularfv 1.000 1.000 1.000 1.000 1.000
hpm_quat_powfv 1.019 1.000 1.020 1.020 1.019
hpm_vec4_maxfv 1.000 1.328 1.333 1.333 1.333
hpm_vec8_maxfv 1.000 1.112 1.117 1.117 1.117
hpm_vec4_minfv 1.000 1.328 1.334 1.334 1.333
hpm_vec8_minfv 1.000 1.577 1.584 1.584 1.583
hpm_vec4_sqrtfv 1.000 2.171 2.173 2.173 2.173
hpm_vec8_sqrtfv 1.000 4.865 4.865 4.865 4.862
hpm_vec4_fast_sqrtfv 1.000 4.515 4.520 4.521 4.519
hpm_vec8_fast_sqrtfv 1.000 7.177 7.199 7.200 7.199
hpm_vec4_copyfv 1.003 1.000 1.002 1.004 1.004
hpm_vec4_dotfv 1.000 1.033 1.038 1.001 1.000
hpm_vec4_lengthfv 1.000 1.158 1.162 1.135 1.135
hpm_vec4_lengthsqurefv 1.000 1.072 1.076 1.035 1.035
hpm_vec4_normalizefv 1.000 1.097 1.102 1.078 1.077
hpm_vec4_negatefv 1.007 1.000 1.004 1.004 1.004
hpm_vec4_lerpfv 1.008 1.000 1.005 1.005 1.005
hpm_vec4_slerpfv 1.000 1.060 1.061 1.049 1.048
hpm_vec4_max_compfv 1.000 1.303 1.303 1.303 1.303
hpm_vec4_min_compfv 1.000 1.304 1.303 1.303 1.303
hpm_vec3_crossproductfv 1.000 1.072 1.072 1.072 1.072
hpm_vec3_tripleProductfv 1.028 1.018 1.018 1.000 1.000
hpm_vec3_dotfv 1.002 1.029 1.029 1.000 1.000
hpm_vec3_lengthfv 1.000 1.131 1.131 1.110 1.110
hpm_vec3_lengthsquarefv 1.000 1.070 1.069 1.026 1.025
hpm_vec3_normalizefv 1.000 1.098 1.098 1.075 1.075
hpm_vec3_reflectfv 1.054 1.025 1.025 1.000 1.000
hpm_vec3_refractfv 1.049 1.013 1.013 1.000 1.000
hpm_vec3_projfv 1.049 1.034 1.033 1.000 1.000

Intel Core i5 M 520

Using GCC 8.3

Function NOSIMD SSE SSE2 SSE3 SSSE3 SSE41 SSE42
hpm_mat4x4_copyfv 1.000 1.078 1.090 1.068 1.144 1.068 1.072
hpm_mat4x4_multiply_mat4x4fv 1.312 1.000 1.004 1.003 1.005 1.003 1.003
hpm_mat4x4_multiply_mat1x4fv 1.000 2.068 2.069 2.060 2.066 2.053 2.064
hpm_mat4x4_identityfv 1.000 1.014 1.009 1.011 1.005 1.003 1.009
hpm_mat4x4_transposefv 1.000 1.358 1.348 1.361 1.359 1.360 1.359
hpm_mat4x4_determinantfv 1.000 1.358 1.352 1.357 1.343 1.356 1.358
hpm_mat4x4_inversefv 1.000 1.021 1.021 1.021 1.020 1.010 1.010
hpm_mat4x4_decomposefv 1.018 1.014 1.016 1.016 1.000 1.020 1.019
hpm_mat4x4_translationfv 1.000 1.017 1.017 1.018 1.020 1.059 1.054
hpm_mat4x4_scalefv 1.066 1.066 1.076 1.055 1.070 1.076 1.000
hpm_mat4x4_rotationfv 1.000 1.014 1.012 1.014 1.012 1.048 1.053
hpm_mat4x4_rotationXf 1.015 1.019 1.024 1.012 1.023 1.002 1.000
hpm_mat4x4_rotationYf 1.005 1.005 1.000 1.003 1.004 1.021 1.030
hpm_mat4x4_rotationZf 1.000 1.006 1.004 1.005 1.000 1.152 1.161
hpm_mat4x4_rotationQf 1.001 1.002 1.007 1.002 1.007 1.004 1.000
hpm_mat4x4_projfv 1.000 1.005 1.004 1.004 1.004 1.063 1.074
hpm_mat4x4_orthfv 1.006 1.001 1.004 1.000 1.005 1.007 1.005
hpm_mat4x4_unprojf 1.040 1.074 1.074 1.070 1.073 1.075 1.000
hpm_vec4_com_eqfv 1.000 20.728 20.862 20.657 20.946 20.906 16.953
hpm_vec4_eqfv 1.000 4.595 4.571 4.561 4.591 2.954 2.489
hpm_vec4_com_neqfv 1.000 2.826 2.811 2.817 2.774 2.821 2.479
hpm_vec4_neqfv 3.529 1.589 1.594 1.590 1.592 1.135 1.000
hpm_vec4_com_gfv 1.000 2.988 3.000 2.980 3.026 3.015 2.604
hpm_vec4_com_lfv 1.000 2.932 2.925 2.930 2.948 2.953 2.557
hpm_mat4_eqfv 1.688 1.255 1.255 1.256 1.254 1.231 1.000
hpm_mat4_neqfv 1.623 1.217 1.214 1.217 1.219 1.195 1.000
hpm_quat_copyfv 1.252 1.265 1.264 1.264 1.265 1.254 1.000
hpm_quat_multi_quatfv 1.090 1.188 1.184 1.187 1.179 1.189 1.000
hpm_quat_multi_vec3fv 1.000 1.197 1.204 1.200 1.202 1.276 1.056
hpm_quat_directionfv 1.000 1.192 1.186 1.191 1.185 1.166 1.010
hpm_quat_get_vectorfv 1.000 1.161 1.164 1.163 1.165 1.243 1.034
hpm_quat_conjugatefv 1.131 1.136 1.145 1.145 1.142 1.147 1.000
hpm_quat_inversefv 2.012 1.000 1.002 1.183 1.183 1.186 1.061
hpm_quat_dotfv 1.863 1.000 1.002 1.297 1.305 2.717 2.374
hpm_quat_identityfv 1.830 1.836 1.823 1.817 1.818 1.824 1.000
hpm_quat_axis_anglefv 1.189 1.191 1.188 1.192 1.169 1.200 1.000
hpm_quat_from_mat4x4fv 1.152 1.156 1.152 1.153 1.155 1.143 1.000
hpm_quat_axisf 1.152 1.167 1.169 1.167 1.170 1.169 1.000
hpm_quat_lerpfv 1.145 1.151 1.150 1.154 1.156 1.153 1.000
hpm_quat_slerpfv 1.347 1.000 1.006 1.074 1.080 1.554 1.077
hpm_quat_pitchfv 1.193 1.196 1.191 1.194 1.192 1.190 1.000
hpm_quat_yawfv 1.255 1.250 1.249 1.251 1.255 1.253 1.000
hpm_quat_rollfv 1.207 1.204 1.209 1.206 1.203 1.206 1.000
hpm_quat_eularfv 1.176 1.178 1.177 1.178 1.175 1.174 1.000
hpm_quat_powfv 1.200 1.205 1.205 1.195 1.205 1.211 1.000
hpm_vec4_maxfv 1.000 1.912 1.943 1.935 1.934 1.935 1.713
hpm_vec8_maxfv 1.000 2.296 2.298 2.300 2.307 2.294 2.021
hpm_vec4_minfv 1.000 1.946 1.942 1.922 1.931 1.944 1.736
hpm_vec8_minfv 1.000 2.325 2.329 2.324 2.324 2.321 2.073
hpm_vec4_sqrtfv 1.000 3.115 3.104 3.115 3.111 3.115 2.819
hpm_vec8_sqrtfv 1.000 3.851 3.814 3.848 3.853 3.850 3.503
hpm_vec4_fast_sqrtfv 1.000 6.193 5.675 6.240 6.232 6.257 5.349
hpm_vec8_fast_sqrtfv 1.000 6.769 6.757 6.773 6.753 6.757 5.943
hpm_vec4_copyfv 1.117 1.118 1.118 1.117 1.112 1.120 1.000
hpm_vec4_dotfv 1.862 1.002 1.000 1.312 1.285 2.745 2.421
hpm_vec4_lengthfv 2.131 1.000 1.003 1.343 1.345 1.343 1.194
hpm_vec4_lengthsqurefv 1.838 1.000 1.000 1.283 1.308 1.309 1.160
hpm_vec4_normalizefv 1.947 1.002 1.000 1.169 1.166 1.168 1.067
hpm_vec4_negatefv 1.103 1.083 1.106 1.102 1.091 1.101 1.000
hpm_vec4_lerpfv 1.165 1.156 1.156 1.164 1.001 1.168 1.000
hpm_vec4_slerpfv 1.532 1.112 1.113 1.263 1.262 1.269 1.000
hpm_vec4_max_compfv 1.000 1.619 1.630 1.627 1.630 1.619 1.371
hpm_vec4_min_compfv 1.000 1.559 1.559 1.556 1.545 1.551 1.397
hpm_vec3_crossproductfv 1.000 1.287 1.287 1.283 1.286 1.284 1.163
hpm_vec3_tripleProductfv 1.280 1.004 1.000 1.132 1.135 1.628 1.444
hpm_vec3_dotfv 2.416 1.000 1.004 1.141 1.138 1.962 1.669
hpm_vec3_lengthfv 3.215 1.024 1.023 1.189 1.192 1.189 1.000
hpm_vec3_lengthsquarefv 2.585 1.000 1.002 1.172 1.173 1.170 1.023
hpm_vec3_normalizefv 2.250 1.054 1.056 1.181 1.181 1.181 1.000
hpm_vec3_reflectfv 2.368 1.003 1.000 1.088 1.085 1.487 1.238
hpm_vec3_refractfv 2.435 1.000 1.001 1.107 1.110 1.521 1.321
hpm_vec3_projfv 2.067 1.000 1.002 1.117 1.115 1.695 1.486

Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz

Using GCC 9.4.0

NOSIMD SSE SSE2 SSE3 SSE41 SSE42 AVX
hpm_mat4x4_copyfv 1.000 2.170 2.158 2.166 2.109 2.123 1.763
hpm_mat4x4_multiply_mat4x4fv 1.413 1.000 1.011 1.019 1.008 1.007 1.002
hpm_mat4x4_multiply_mat1x4fv 1.000 2.125 2.011 2.072 2.084 2.123 2.138
hpm_mat4x4_identityfv 1.000 1.145 1.111 1.143 1.092 1.157 1.187
hpm_mat4x4_transposefv 1.000 1.281 1.231 1.252 1.210 1.226 1.258
hpm_mat4x4_determinantfv 1.000 1.296 1.286 1.281 1.251 1.294 1.297
hpm_mat4x4_inversefv 1.000 1.038 1.039 1.033 1.027 1.033 1.008
hpm_mat4x4_decomposefv 1.006 1.014 1.010 1.000 1.008 1.010 1.004
hpm_mat4x4_translationfv 1.052 1.114 1.045 1.046 1.057 1.000 1.073
hpm_mat4x4_scalefv 1.027 1.091 1.024 1.056 1.032 1.000 1.056
hpm_mat4x4_rotationfv 1.000 1.028 1.016 1.022 1.007 1.017 1.023
hpm_mat4x4_rotationXf 1.023 1.034 1.032 1.023 1.000 1.014 1.055
hpm_mat4x4_rotationYf 1.000 1.030 1.009 1.047 1.016 1.024 1.069
hpm_mat4x4_rotationZf 1.056 1.083 1.062 1.069 1.058 1.000 1.089
hpm_mat4x4_rotationQf 1.000 1.004 1.013 1.011 1.011 1.004 1.000
hpm_mat4x4_projfv 1.007 1.007 1.004 1.000 1.014 1.012 1.030
hpm_mat4x4_orthfv 1.068 1.075 1.034 1.088 1.016 1.000 1.051
hpm_mat4x4_unprojf 1.070 1.013 1.007 1.018 1.005 1.000 1.009
hpm_vec4_com_eqfv 1.000 14.617 14.331 14.607 14.671 13.929 15.016
hpm_vec4_eqfv 1.000 4.692 4.719 4.526 3.085 3.061 3.081
hpm_vec4_com_neqfv 1.000 2.183 2.119 2.168 1.955 2.080 2.187
hpm_vec4_neqfv 2.788 1.337 1.340 1.328 1.000 1.020 1.352
hpm_vec4_com_gfv 1.000 2.204 2.279 2.224 2.181 2.236 2.161
hpm_vec4_com_lfv 1.000 1.993 2.038 2.010 1.846 1.947 2.018
hpm_mat4_eqfv 1.156 1.209 1.192 1.214 1.004 1.023 1.000
hpm_mat4_neqfv 1.127 1.373 1.381 1.344 1.036 1.014 1.000
hpm_quat_copyfv 1.063 1.092 1.088 1.046 1.000 1.053 1.048
hpm_quat_multi_quatfv 1.029 1.021 1.012 1.003 1.015 1.027 1.000
hpm_quat_multi_vec3fv 1.000 1.206 1.198 1.189 1.148 1.197 1.190
hpm_quat_directionfv 1.000 1.167 1.190 1.188 1.113 1.136 1.179
hpm_quat_get_vectorfv 1.000 1.170 1.191 1.246 1.124 1.170 1.234
hpm_quat_conjugatefv 1.043 1.006 1.061 1.046 1.039 1.000 1.026
hpm_quat_inversefv 1.983 1.102 1.090 1.192 1.157 1.185 1.000
hpm_quat_dotfv 2.062 1.005 1.000 1.319 2.346 2.473 2.735
hpm_quat_identityfv 1.048 1.000 1.014 1.039 1.141 1.196 1.187
hpm_quat_axis_anglefv 1.037 1.014 1.038 1.030 1.006 1.053 1.000
hpm_quat_from_mat4x4fv 1.008 1.009 1.008 1.000 1.011 1.002 1.011
hpm_quat_axisf 1.013 1.025 1.036 1.037 1.000 1.025 1.023
hpm_quat_lerpfv 1.074 1.052 1.054 1.000 1.044 1.086 1.041
hpm_quat_slerpfv 1.430 1.000 1.005 1.127 1.558 1.587 1.772
hpm_quat_pitchfv 1.036 1.001 1.027 1.012 1.000 1.029 1.031
hpm_quat_yawfv 1.028 1.030 1.005 1.003 1.000 1.037 1.010
hpm_quat_rollfv 1.018 1.019 1.001 1.011 1.013 1.000 1.010
hpm_quat_eularfv 1.025 1.000 1.026 1.031 1.035 1.008 1.016
hpm_quat_powfv 1.009 1.001 1.012 1.013 1.014 1.011 1.000
hpm_vec4_maxfv 1.000 1.676 1.714 1.630 1.707 1.546 1.616
hpm_vec8_maxfv 1.000 1.955 1.954 1.909 1.964 1.847 2.806
hpm_vec4_minfv 1.000 1.719 1.655 1.707 1.744 1.656 1.667
hpm_vec8_minfv 1.000 2.000 1.871 1.886 2.023 1.944 2.909
hpm_vec4_sqrtfv 1.000 5.903 5.691 5.975 6.190 5.991 4.027
hpm_vec8_sqrtfv 1.000 6.981 6.768 6.617 7.050 6.842 9.767
hpm_vec4_fast_sqrtfv 1.000 6.064 6.065 5.735 6.128 5.748 4.249
hpm_vec8_fast_sqrtfv 1.000 7.539 7.460 7.205 7.659 7.317 10.355
hpm_vec4_copyfv 1.045 1.054 1.059 1.113 1.074 1.006 1.000
hpm_vec4_dotfv 1.912 1.000 1.002 1.270 2.417 2.475 2.713
hpm_vec4_lengthfv 2.150 1.002 1.000 1.290 1.297 1.298 1.050
hpm_vec4_lengthsqurefv 1.706 1.072 1.080 1.305 1.359 1.346 1.000
hpm_vec4_normalizefv 1.849 1.026 1.027 1.150 1.167 1.142 1.000
hpm_vec4_negatefv 1.056 1.030 1.036 1.019 1.000 1.042 1.033
hpm_vec4_lerpfv 1.000 1.002 1.019 1.011 1.016 1.027 1.042
hpm_vec4_slerpfv 1.355 1.012 1.017 1.105 1.121 1.118 1.000
hpm_vec4_max_compfv 1.000 1.348 1.322 1.298 1.298 1.308 1.152
hpm_vec4_min_compfv 1.000 1.279 1.262 1.235 1.258 1.290 1.118
hpm_vec3_crossproductfv 1.000 1.288 1.255 1.245 1.287 1.270 1.242
hpm_vec3_tripleProductfv 1.654 1.002 1.000 1.062 1.493 1.498 1.536
hpm_vec3_dotfv 3.026 1.000 1.008 1.098 1.745 1.740 1.814
hpm_vec3_lengthfv 3.996 1.028 1.034 1.165 1.165 1.154 1.000
hpm_vec3_lengthsquarefv 3.577 1.108 1.110 1.194 1.199 1.189 1.000
hpm_vec3_normalizefv 2.160 1.025 1.031 1.131 1.135 1.133 1.000
hpm_vec3_reflectfv 2.574 1.000 1.003 1.049 1.404 1.391 1.435
hpm_vec3_refractfv 2.487 1.000 1.001 1.071 1.421 1.435 1.483
hpm_vec3_projfv 2.392 1.002 1.000 1.061 1.517 1.534 1.607

AMD Ryzen 9 5950X 16-Core Processor

gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0

NOSIMD SSE SSE2 SSE3 SSE41 SSE42 AVX
hpm_mat4x4_copyfv 1.103 1.012 1.024 1.000 1.048 1.022 1.506
hpm_mat4x4_multiply_mat4x4fv 1.689 1.035 1.000 1.151 1.165 1.139 1.164
hpm_mat4x4_multiply_mat1x4fv 1.000 1.527 1.639 1.861 1.682 1.823 1.925
hpm_mat4x4_identityfv 1.061 1.000 1.068 1.106 1.151 1.126 1.223
hpm_mat4x4_transposefv 1.000 1.280 1.259 1.299 1.317 1.280 1.312
hpm_mat4x4_determinantfv 1.000 1.250 1.248 1.238 1.299 1.261 1.272
hpm_mat4x4_inversefv 1.037 1.000 1.033 1.101 1.147 1.103 1.097
hpm_mat4x4_decomposefv 1.000 1.025 1.037 1.096 1.075 1.097 1.124
hpm_mat4x4_translationfv 1.000 1.023 1.128 1.276 1.322 1.230 1.265
hpm_mat4x4_scalefv 1.007 1.000 1.137 1.361 1.385 1.362 1.023
hpm_mat4x4_rotationfv 1.025 1.000 1.129 1.216 1.249 1.177 1.178
hpm_mat4x4_rotationXf 1.124 1.000 1.108 1.120 1.246 1.309 1.271
hpm_mat4x4_rotationYf 1.020 1.000 1.040 1.239 1.198 1.276 1.136
hpm_mat4x4_rotationZf 1.080 1.000 1.058 1.269 1.273 1.322 1.260
hpm_mat4x4_rotationQf 1.000 1.010 1.000 1.103 1.115 1.137 1.090
hpm_mat4x4_projfv 1.000 1.049 1.096 1.294 1.288 1.264 1.252
hpm_mat4x4_orthfv 1.155 1.098 1.000 1.239 1.326 1.315 1.321
hpm_mat4x4_unprojf 1.139 1.000 1.019 1.106 1.120 1.154 1.144
hpm_vec4_com_eqfv 1.000 10.972 9.696 9.308 11.723 11.587 12.677
hpm_vec4_eqfv 1.000 2.881 2.979 3.693 2.365 2.396 2.319
hpm_vec4_com_neqfv 1.000 2.257 1.933 2.250 2.217 2.550 2.240
hpm_vec4_neqfv 1.951 1.293 1.163 1.438 1.000 1.033 1.474
hpm_vec4_com_gfv 1.000 1.787 1.800 1.996 2.163 2.144 2.153
hpm_vec4_com_lfv 1.000 1.788 1.801 2.008 2.046 1.760 1.779
hpm_mat4_eqfv 1.366 1.017 1.088 1.243 1.020 1.000 1.059
hpm_mat4_neqfv 1.427 1.088 1.146 1.319 1.000 1.046 1.041
hpm_quat_copyfv 1.237 1.000 1.087 1.239 1.416 1.428 1.405
hpm_quat_multi_quatfv 1.082 1.011 1.000 1.076 1.129 1.173 1.105
hpm_quat_multi_vec3fv 1.000 1.305 1.227 1.474 1.447 1.413 1.362
hpm_quat_directionfv 1.000 1.326 1.302 1.430 1.459 1.359 1.462
hpm_quat_get_vectorfv 1.000 1.283 1.243 1.512 1.575 1.392 1.531
hpm_quat_conjugatefv 1.063 1.000 1.058 1.126 1.130 1.111 1.125
hpm_quat_inversefv 2.538 1.070 1.068 1.211 1.208 1.210 1.000
hpm_quat_dotfv 3.357 1.010 1.000 2.088 3.750 3.730 4.229
hpm_quat_identityfv 1.090 1.153 1.000 1.172 1.175 1.175 1.087
hpm_quat_axis_anglefv 1.000 1.012 1.077 1.230 1.236 1.250 1.250
hpm_quat_from_mat4x4fv 1.022 1.176 1.000 1.234 1.242 1.247 1.373
hpm_quat_axisf 1.008 1.013 1.000 1.202 1.152 1.121 1.160
hpm_quat_lerpfv 1.056 1.017 1.000 1.112 1.114 1.120 1.114
hpm_quat_slerpfv 2.060 1.000 1.008 1.372 2.453 2.421 2.329
hpm_quat_pitchfv 1.104 1.083 1.000 1.247 1.203 1.305 1.383
hpm_quat_yawfv 1.000 1.091 1.028 1.191 1.276 1.266 1.284
hpm_quat_rollfv 1.036 1.000 1.041 1.189 1.265 1.234 1.108
hpm_quat_eularfv 1.000 1.146 1.004 1.192 1.199 1.186 1.201
hpm_quat_powfv 1.034 1.058 1.029 1.000 1.084 1.079 1.162
hpm_vec4_maxfv 1.000 1.991 2.197 2.391 2.438 2.318 2.430
hpm_vec8_maxfv 1.000 2.117 1.752 2.401 2.354 2.319 3.287
hpm_vec4_minfv 1.000 1.163 1.280 1.559 1.553 1.541 1.570
hpm_vec8_minfv 1.000 1.533 1.814 2.390 2.297 2.195 3.279
hpm_vec4_sqrtfv 1.000 5.032 5.217 5.415 5.630 5.531 3.754
hpm_vec8_sqrtfv 1.000 5.474 4.859 5.558 5.675 5.928 8.112
hpm_vec4_fast_sqrtfv 1.000 5.413 5.729 5.930 6.053 5.829 4.136
hpm_vec8_fast_sqrtfv 1.000 7.573 7.262 6.992 8.081 7.889 10.478
hpm_vec4_copyfv 1.146 1.117 1.000 1.191 1.292 1.248 1.288
hpm_vec4_dotfv 3.376 1.068 1.000 1.796 3.645 3.144 3.787
hpm_vec4_lengthfv 2.967 1.000 1.165 1.398 1.342 1.433 1.202
hpm_vec4_lengthsqurefv 3.116 1.000 1.011 1.187 1.213 1.221 1.166
hpm_vec4_normalizefv 2.459 1.000 1.003 1.182 1.180 1.180 1.012
hpm_vec4_negatefv 1.001 1.003 1.007 1.000 1.009 1.008 1.009
hpm_vec4_lerpfv 1.015 1.000 1.007 1.019 1.017 1.015 1.024
hpm_vec4_slerpfv 1.818 1.000 1.087 1.274 1.283 1.317 1.083
hpm_vec4_max_compfv 1.016 1.086 1.154 1.126 1.185 1.000 1.078
hpm_vec4_min_compfv 1.010 1.000 1.304 1.291 1.283 1.229 1.041
hpm_vec3_crossproductfv 1.000 1.341 1.579 1.600 1.593 1.595 1.491
hpm_vec3_tripleProductfv 2.399 1.028 1.000 1.268 2.146 2.284 2.281
hpm_vec3_dotfv 4.477 1.000 1.016 1.160 2.222 2.206 2.245
hpm_vec3_lengthfv 4.636 1.001 1.012 1.200 1.208 1.200 1.000
hpm_vec3_lengthsquarefv 5.065 1.089 1.099 1.251 1.255 1.253 1.000
hpm_vec3_normalizefv 2.752 1.000 1.005 1.175 1.171 1.170 1.017
hpm_vec3_reflectfv 2.754 1.000 1.009 1.109 1.638 1.639 1.665
hpm_vec3_refractfv 2.791 1.000 1.024 1.132 1.714 1.728 1.740
hpm_vec3_projfv 3.556 1.000 1.041 1.172 2.108 2.096 2.136

Intel(R) Celeron(R) J4025 CPU @ 2.00GHz

gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0

NOSIMD SSE SSE2 SSE3 SSE41 SSE42
hpm_mat4x4_multiply_mat4x4fv 1.319 1.000 1.000 1.000 1.000 1.000
hpm_mat4x4_multiply_mat1x4fv 1.000 2.145 2.142 2.146 2.143 2.140
hpm_mat4x4_identityfv 1.048 1.049 1.085 1.045 1.047 1.000
hpm_mat4x4_transposefv 1.000 1.394 1.387 1.395 1.384 1.394
hpm_mat4x4_determinantfv 1.000 1.391 1.393 1.393 1.391 1.394
hpm_mat4x4_inversefv 1.000 1.017 1.016 1.017 1.017 1.017
hpm_mat4x4_decomposefv 1.000 1.001 1.006 1.002 1.002 1.003
hpm_mat4x4_translationfv 1.010 1.008 1.104 1.002 1.000 1.104
hpm_mat4x4_scalefv 1.002 1.003 1.000 1.002 1.072 1.069
hpm_mat4x4_rotationfv 1.001 1.000 1.001 1.002 1.025 1.026
hpm_mat4x4_rotationXf 1.025 1.026 1.024 1.025 1.003 1.000
hpm_mat4x4_rotationYf 1.040 1.031 1.042 1.041 1.003 1.000
hpm_mat4x4_rotationZf 1.006 1.004 1.000 1.013 1.014 1.017
hpm_mat4x4_rotationQf 1.000 1.002 1.048 1.001 1.005 1.002
hpm_mat4x4_projfv 1.009 1.001 1.001 1.001 1.000 1.008
hpm_mat4x4_orthfv 1.000 1.001 1.006 1.007 1.038 1.027
hpm_mat4x4_unprojf 1.040 1.003 1.000 1.002 1.003 1.002
hpm_vec4_com_eqfv 1.000 12.661 14.735 14.591 13.820 13.765
hpm_vec4_eqfv 1.000 3.223 3.223 3.214 2.615 2.605
hpm_vec4_com_neqfv 1.000 2.420 2.420 2.418 2.415 2.204
hpm_vec4_neqfv 2.002 1.090 1.088 1.089 1.000 1.005
hpm_vec4_com_gfv 1.000 2.263 2.263 2.264 2.259 2.407
hpm_vec4_com_lfv 1.000 2.442 2.428 2.442 2.441 2.210
hpm_mat4_eqfv 4.140 1.007 1.008 1.000 1.004 1.005
hpm_mat4_neqfv 4.854 1.104 1.104 1.106 1.064 1.000
hpm_quat_copyfv 1.047 1.042 1.129 1.082 1.000 1.112
hpm_quat_multi_quatfv 1.000 1.052 1.052 1.052 1.051 1.053
hpm_quat_multi_vec3fv 1.000 1.281 1.280 1.281 1.292 1.293
hpm_quat_directionfv 1.000 1.243 1.228 1.219 1.160 1.209
hpm_quat_get_vectorfv 1.000 1.208 1.208 1.206 1.172 1.279
hpm_quat_conjugatefv 1.017 1.000 1.068 1.014 1.121 1.121
hpm_quat_inversefv 1.895 1.000 1.000 1.089 1.089 1.090
hpm_quat_dotfv 2.300 1.000 1.000 1.078 1.858 1.887
hpm_quat_identityfv 1.181 1.000 1.182 1.183 1.181 1.175
hpm_quat_axis_anglefv 1.001 1.003 1.001 1.002 1.001 1.000
hpm_quat_from_mat4x4fv 1.225 1.223 1.001 1.226 1.000 1.000
hpm_quat_axisf 1.024 1.000 1.011 1.012 1.005 1.023
hpm_quat_lerpfv 1.003 1.000 1.002 1.003 1.001 1.003
hpm_quat_slerpfv 2.022 1.000 1.009 1.100 1.806 1.797
hpm_quat_pitchfv 1.027 1.017 1.027 1.021 1.000 1.016
hpm_quat_yawfv 1.032 1.008 1.023 1.005 1.000 1.033
hpm_quat_rollfv 1.028 1.019 1.013 1.018 1.000 1.014
hpm_quat_eularfv 1.025 1.014 1.031 1.027 1.025 1.000
hpm_quat_powfv 1.004 1.001 1.004 1.005 1.006 1.000
hpm_vec4_maxfv 1.000 1.904 1.909 1.906 1.906 1.903
hpm_vec8_maxfv 1.000 2.349 2.344 2.340 2.343 2.343
hpm_vec4_minfv 1.000 1.913 1.919 1.918 1.915 1.915
hpm_vec8_minfv 1.000 2.348 2.345 2.347 2.348 2.342
hpm_vec4_sqrtfv 1.000 6.192 6.212 6.199 6.198 6.210
hpm_vec8_sqrtfv 1.000 5.349 5.351 5.341 5.360 5.348
hpm_vec4_fast_sqrtfv 1.000 7.174 7.823 7.805 6.715 7.016
hpm_vec8_fast_sqrtfv 1.000 8.797 8.817 8.728 8.821 8.793
hpm_vec4_copyfv 1.000 1.001 1.002 1.005 1.005 1.001
hpm_vec4_dotfv 2.291 1.002 1.000 1.109 1.850 1.896
hpm_vec4_lengthfv 2.345 1.000 1.000 1.212 1.210 1.204
hpm_vec4_lengthsqurefv 2.307 1.000 1.005 1.177 1.178 1.179
hpm_vec4_normalizefv 1.984 1.000 1.000 1.127 1.129 1.127
hpm_vec4_negatefv 1.121 1.006 1.000 1.119 1.038 1.095
hpm_vec4_lerpfv 1.007 1.002 1.000 1.006 1.003 1.000
hpm_vec4_slerpfv 1.448 1.000 1.003 1.119 1.208 1.208
hpm_vec4_max_compfv 1.000 1.230 1.231 1.230 1.230 1.230
hpm_vec4_min_compfv 1.000 1.103 1.103 1.103 1.103 1.104
hpm_vec3_crossproductfv 1.000 1.472 1.470 1.467 1.468 1.471
hpm_vec3_tripleProductfv 1.453 1.001 1.000 1.069 1.436 1.433
hpm_vec3_dotfv 2.490 1.000 1.000 1.099 1.732 1.732
hpm_vec3_lengthfv 2.462 1.000 1.004 1.140 1.141 1.140
hpm_vec3_lengthsquarefv 2.627 1.000 1.002 1.109 1.101 1.101
hpm_vec3_normalizefv 2.188 1.001 1.000 1.115 1.115 1.116
hpm_vec3_reflectfv 1.687 1.003 1.000 1.065 1.404 1.404
hpm_vec3_refractfv 1.760 1.001 1.000 1.077 1.427 1.427
hpm_vec3_projfv 1.951 1.000 1.001 1.183 1.666 1.665