Snippets

Rasmus Larsen log1p and expm1 benchmarks

Created by Rasmus Larsen
Benchmarks for log1p:

SSE:
name                                  old time/op             new time/op   delta  
BM_eigen_log1p_float/1                 6.97ns ± 0%             8.62ns ± 0%  +23.68%
BM_eigen_log1p_float/8                 53.4ns ± 0%             21.1ns ± 1%  -60.58%
BM_eigen_log1p_float/64                 466ns ± 1%              149ns ± 2%  -67.93%
BM_eigen_log1p_float/512              4.11µs ± 2%             1.18µs ± 1%  -71.33% 
BM_eigen_log1p_float/4k               35.6µs ± 1%              9.4µs ± 1%  -73.54% 
BM_eigen_log1p_float/32k               293µs ± 0%               74µs ± 0%  -74.55% 
BM_eigen_log1p_float/256k              2.34ms ± 0%             0.60ms ± 4%  -74.19%
BM_eigen_log1p_float/1M                9.37ms ± 0%             2.41ms ± 2%  -74.32%

AVX:
name                                  old time/op             new time/op   delta         
BM_eigen_log1p_float/1                 9.16ns ± 0%            11.47ns ± 1%  +25.22%  
BM_eigen_log1p_float/8                 55.0ns ± 0%             15.9ns ± 3%  -71.15%  
BM_eigen_log1p_float/64                 468ns ± 2%               95ns ± 2%  -79.66%  
BM_eigen_log1p_float/512              4.15µs ± 5%             0.73µs ± 3%  -82.50%   
BM_eigen_log1p_float/4k               35.7µs ± 2%              5.8µs ± 3%  -83.79%   
BM_eigen_log1p_float/32k               290µs ± 0%               46µs ± 2%  -84.11%   
BM_eigen_log1p_float/256k              2.32ms ± 0%             0.37ms ± 3%  -84.00%  
BM_eigen_log1p_float/1M                9.30ms ± 0%             1.48ms ± 4%  -84.08%  

AVX+FMA:
name                                  old time/op             new time/op    delta
BM_eigen_log1p_float/1                 9.22ns ± 1%            11.38ns ± 0%  +23.53%
BM_eigen_log1p_float/8                 55.0ns ± 0%             14.3ns ± 2%  -74.07%
BM_eigen_log1p_float/64                 468ns ± 1%               83ns ± 2%  -82.30%
BM_eigen_log1p_float/512              4.09µs ± 1%             0.63µs ± 1%  -84.58% 
BM_eigen_log1p_float/4k               35.5µs ± 1%              5.0µs ± 2%  -85.81% 
BM_eigen_log1p_float/32k               291µs ± 0%               40µs ± 2%  -86.25% 
BM_eigen_log1p_float/256k              2.33ms ± 0%             0.32ms ± 2%  -86.31%
BM_eigen_log1p_float/1M                9.32ms ± 1%             1.27ms ± 1%  -86.36%

AVX512
name                                  old time/op             new time/op   delta
BM_eigen_log1p_float/1                 9.17ns ± 0%            10.83ns ± 2%  +18.06% 
BM_eigen_log1p_float/8                 55.1ns ± 0%             67.9ns ± 1%  +23.16% 
BM_eigen_log1p_float/64                 466ns ± 1%               40ns ± 4%  -91.38% 
BM_eigen_log1p_float/512              4.09µs ± 1%             0.31µs ± 1%  -92.37%  
BM_eigen_log1p_float/4k               35.5µs ± 0%              2.5µs ± 2%  -92.91%  
BM_eigen_log1p_float/32k               291µs ± 0%               20µs ± 3%  -93.06%  
BM_eigen_log1p_float/256k              2.33ms ± 0%             0.16ms ± 2%  -93.11% 
BM_eigen_log1p_float/1M                9.31ms ± 0%             0.64ms ± 1%  -93.13% 


Benchmarks for expm1:

SSE:
name                                  old time/op             new time/op   delta          
BM_eigen_expm1_float/1                 6.66ns ± 0%             8.01ns ± 0%  +20.18%   
BM_eigen_expm1_float/8                 52.6ns ± 0%             60.2ns ± 1%  +14.43%   
BM_eigen_expm1_float/64                 466ns ± 2%              464ns ± 0%     ~      
BM_eigen_expm1_float/512              3.90µs ± 2%             3.66µs ± 1%   -6.00%    
BM_eigen_expm1_float/4k               36.8µs ± 2%             29.4µs ± 1%  -20.09%    
BM_eigen_expm1_float/32k               309µs ± 1%              235µs ± 0%  -23.87%    
BM_eigen_expm1_float/256k              2.47ms ± 1%             1.88ms ± 0%  -24.13%   
BM_eigen_expm1_float/1M                9.90ms ± 2%             7.50ms ± 0%  -24.22%   

AVX:
name                                  old time/op             new time/op   delta         
BM_eigen_expm1_float/1                 8.77ns ± 0%            11.33ns ± 0%  +29.14%  
BM_eigen_expm1_float/8                 54.4ns ± 0%             40.7ns ± 6%  -25.13%  
BM_eigen_expm1_float/64                 465ns ± 0%              276ns ± 1%  -40.55%  
BM_eigen_expm1_float/512              3.91µs ± 1%             2.16µs ± 1%  -44.79%   
BM_eigen_expm1_float/4k               36.7µs ± 0%             17.2µs ± 0%  -53.11%   
BM_eigen_expm1_float/32k               308µs ± 0%              137µs ± 1%  -55.45%   
BM_eigen_expm1_float/256k              2.47ms ± 0%             1.10ms ± 0%  -55.49%  
BM_eigen_expm1_float/1M                9.87ms ± 0%             4.38ms ± 0%  -55.56%  

AVX+FMA:
name                                  old time/op             new time/op   delta
BM_eigen_expm1_float/1                 9.19ns ±15%            11.54ns ± 0%  +25.60%
BM_eigen_expm1_float/8                 55.5ns ± 4%             26.5ns ± 8%  -52.18%
BM_eigen_expm1_float/64                 475ns ± 3%              177ns ± 3%  -62.74%
BM_eigen_expm1_float/512              3.93µs ± 3%             1.38µs ± 1%  -64.97% 
BM_eigen_expm1_float/4k               36.9µs ± 1%             11.0µs ± 1%  -70.15% 
BM_eigen_expm1_float/32k               310µs ± 1%               87µs ± 1%  -71.75% 
BM_eigen_expm1_float/256k              2.48ms ± 1%             0.70ms ± 1%  -71.70%
BM_eigen_expm1_float/1M                9.94ms ± 1%             2.81ms ± 2%  -71.76%

AVX512
name                                  old time/op             new time/op   delta
BM_eigen_expm1_float/1                 8.77ns ± 0%            11.38ns ± 0%  +29.69% 
BM_eigen_expm1_float/8                 54.4ns ± 1%             62.4ns ± 1%  +14.82% 
BM_eigen_expm1_float/64                 466ns ± 1%               92ns ± 2%  -80.30% 
BM_eigen_expm1_float/512              3.88µs ± 1%             0.71µs ± 2%  -81.76%  
BM_eigen_expm1_float/4k               36.7µs ± 0%              5.7µs ± 1%  -84.58%  
BM_eigen_expm1_float/32k               309µs ± 0%               45µs ± 1%  -85.43%  
BM_eigen_expm1_float/256k              2.48ms ± 0%             0.36ms ± 1%  -85.39% 
BM_eigen_expm1_float/1M                9.92ms ± 1%             1.44ms ± 2%  -85.46% 

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.