Skip to content

Conversation

@lemire
Copy link
Member

@lemire lemire commented Jan 7, 2021

If you have binary floating-point numbers, you ought to serialize them using no more than 17 digits. Anymore and you are being wasteful. Our code is optimized for such a scenario. However, if someone has data with lots and lots of digits per floating-point number, then our performance is somewhat less. This PR is better if you expect to be processing long significand.

Configuration: AMD Rome Processor (GCC 10)

model before after (this PR) gain/loss
uniform 1132.06 MB/s 1121.70 MB/s -1%
uniform/concise 951.12 MB/s 952.04 MB/s 0%
canada 802.83 MB/s 824.92 MB/s +3%
big_ints 370.35 MB/s 520.40 MB/s + 40%

See also #27 for a different trade-off.

@lemire lemire changed the title Improves long-significant performance Improves long-significand performance Jan 7, 2021
@lemire lemire linked an issue Jan 7, 2021 that may be closed by this pull request
@lemire lemire merged commit b61ed01 into main Jan 8, 2021
@lemire lemire deleted the dlemire/alt_long branch July 7, 2021 19:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The processing of long numbers could be a bit faster

2 participants