You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2020/08/05 14:16:50 UTC
[GitHub] [arrow] pitrou commented on pull request #7901: ARROW-9543: [C++] Simplify parsing/formatting utilities
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:
users@infra.apache.org