pitrou commented on pull request #7901:
URL: https://github.com/apache/arrow/pull/7901#issuecomment-669219582


   It seems that micro-benchmark performance is regressing with this PR, at 
least here (clang 9.0, AMD Ryzen):
   * before:
   ```
   IntegerParsing<Int8Type>                        2396 ns         2396 ns      
 292824 items_per_second=417.353M/s
   IntegerParsing<Int16Type>                       4499 ns         4499 ns      
 155249 items_per_second=222.277M/s
   IntegerParsing<Int32Type>                       8664 ns         8663 ns      
  80584 items_per_second=115.43M/s
   IntegerParsing<Int64Type>                      12173 ns        12172 ns      
  57294 items_per_second=82.158M/s
   IntegerParsing<UInt8Type>                       3369 ns         3369 ns      
 207573 items_per_second=296.845M/s
   IntegerParsing<UInt16Type>                      2102 ns         2102 ns      
 332411 items_per_second=475.832M/s
   IntegerParsing<UInt32Type>                      4962 ns         4961 ns      
 140831 items_per_second=201.572M/s
   IntegerParsing<UInt64Type>                      7191 ns         7190 ns      
 100415 items_per_second=139.078M/s
   
   IntegerFormatting<Int8Type>                     3812 ns         3812 ns      
 179090 items_per_second=262.339M/s
   IntegerFormatting<Int16Type>                    5027 ns         5027 ns      
 134540 items_per_second=198.932M/s
   IntegerFormatting<Int32Type>                    7389 ns         7388 ns      
  93547 items_per_second=135.355M/s
   IntegerFormatting<Int64Type>                   15756 ns        15754 ns      
  44352 items_per_second=63.4756M/s
   IntegerFormatting<UInt8Type>                    4056 ns         4056 ns      
 173893 items_per_second=246.56M/s
   IntegerFormatting<UInt16Type>                   5275 ns         5275 ns      
 132502 items_per_second=189.586M/s
   IntegerFormatting<UInt32Type>                   7541 ns         7540 ns      
  92745 items_per_second=132.63M/s
   IntegerFormatting<UInt64Type>                  17504 ns        17502 ns      
  40788 items_per_second=57.1355M/s
   ```
   * after:
   ```
   IntegerParsing<Int8Type>                        4084 ns         4083 ns      
 169535 items_per_second=244.921M/s
   IntegerParsing<Int16Type>                       4707 ns         4707 ns      
 148239 items_per_second=212.468M/s
   IntegerParsing<Int32Type>                       8991 ns         8990 ns      
  77470 items_per_second=111.238M/s
   IntegerParsing<Int64Type>                      12632 ns        12630 ns      
  55277 items_per_second=79.1756M/s
   IntegerParsing<UInt8Type>                       3475 ns         3475 ns      
 201119 items_per_second=287.803M/s
   IntegerParsing<UInt16Type>                      3784 ns         3784 ns      
 184693 items_per_second=264.29M/s
   IntegerParsing<UInt32Type>                      5609 ns         5608 ns      
 124533 items_per_second=178.323M/s
   IntegerParsing<UInt64Type>                      7552 ns         7550 ns      
  92385 items_per_second=132.442M/s
   
   IntegerFormatting<Int8Type>                     5973 ns         5972 ns      
 115765 items_per_second=167.445M/s
   IntegerFormatting<Int16Type>                    7325 ns         7324 ns      
  95107 items_per_second=136.541M/s
   IntegerFormatting<Int32Type>                   15128 ns        15126 ns      
  46259 items_per_second=66.1119M/s
   IntegerFormatting<Int64Type>                   18152 ns        18149 ns      
  43116 items_per_second=55.0988M/s
   IntegerFormatting<UInt8Type>                    6079 ns         6078 ns      
 114820 items_per_second=164.531M/s
   IntegerFormatting<UInt16Type>                   8158 ns         8157 ns      
  85571 items_per_second=122.597M/s
   IntegerFormatting<UInt32Type>                  10500 ns        10498 ns      
  66770 items_per_second=95.2558M/s
   IntegerFormatting<UInt64Type>                  20176 ns        20173 ns      
  34577 items_per_second=49.5716M/s
   ```
   
   However, CSV conversion benchmarks seem either affected or (slightly) 
improved:
   * before:
   ```
   Int64Conversion                  84572 ns        84558 ns         8320 
items_per_second=98.5477M/s
   FloatConversion                 186815 ns       186786 ns         3770 
items_per_second=42.8298M/s
   Decimal128Conversion            403464 ns       403407 ns         1715 
items_per_second=16.5267M/s
   StringConversion                 58231 ns        58222 ns        12144 
items_per_second=114.509M/s
   TimestampConversionDefault      156438 ns       156414 ns         4461 
items_per_second=63.9328M/s
   TimestampConversionStrptime     472131 ns       472065 ns         1480 
items_per_second=21.1835M/s
   ```
   * after:
   ```
   Int64Conversion                  70332 ns        70322 ns         9953 
items_per_second=118.497M/s
   FloatConversion                 179511 ns       179482 ns         3823 
items_per_second=44.5726M/s
   Decimal128Conversion            417192 ns       417133 ns         1678 
items_per_second=15.9829M/s
   StringConversion                 58438 ns        58426 ns        12043 
items_per_second=114.109M/s
   TimestampConversionDefault      154926 ns       154902 ns         4495 
items_per_second=64.5568M/s
   TimestampConversionStrptime     514370 ns       514289 ns         1345 
items_per_second=19.4443M/s
   ```
   
   So there doesn't seem to be any reason for concern, a priori.
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to