Performance improvements / feedback? #529
Replies: 2 comments 3 replies
-
Ah, the edit clears it up 😉 I tried to profile this yesterday on a couple of devices (Pixel 2, Pixel 3a, Fairphone 3 and 4) and couldn't see any performance regression. At least for these devices, the measurements varied more between the individual measurement runs than the difference between the old and the new code. |
Beta Was this translation helpful? Give feedback.
-
Finally got around to run our test suite on 2.0.0, master and master with the binarizer change for comparison. Between 2.0.0 and master I see maybe a 5% speedup (but that's close to the measurement noise), on an i7. That seems in line with your numbers, given that test includes the entire PDF processing pipeline, not just barcode decoding. Enabling the binarizer change seems to have no impact. This is all with "pure" barcodes though. |
Beta Was this translation helpful? Give feedback.
-
I recently pushed a change that has significant performance benefits but not across all hardware. I observed 20-30% on my Core i9 (AVX2) but no benefit or even a 50% regression on my Google Pixel 3. Therefore I added the
#ifdef __AVX__
guards.If anyone wants to experiment with those changes (remove the
#ifdef
lines), please let me know about your results. I'd be interested to know on which architectures this is helpful, neutral or hurtful.Another change with potential performance implications was this. There you have another option to play with.
@markusfisch, @parallaxe, @vkrause, @dkonecny-oracle
EDIT: turns out, my performance measurements on my phone were off, partly because the impact of the phone's temperature on the performance were more pronounced than I thought. Bottom line: I enabled the first change also on non-AVX systems (namely all 64-bit systems) here.
Beta Was this translation helpful? Give feedback.
All reactions