-
Notifications
You must be signed in to change notification settings - Fork 2
Results
Best results table:
| short | int | long | long long |
----------|-----------------|---------|---------|-----------| 1 digit | reverse/tmpbuf (1) | reverse | reverse | reverse | 2 digits | reverse/tmpbuf (1) | reverse | reverse | reverse | 4 digits | reverse/tmpbuf (1) | reverse | reverse | reverse | 10 digits | reverse/tmpbuf (1) | reverse | reverse | reverse | ANY | reverse/tmpbuf (1) | reverse | reverse | reverse |
(1): only for 64bit short
type test on macosx with clang, otherwise reverse
better: [link]
(https://github.com/ruslo/int-dec-format-tests/blob/master/results/reverse_vs_tmpbuf/macosx-clang-64bit-intel-core-i5-2.3GHz-short.txt)
- [link] (https://github.com/ruslo/int-dec-format-tests/tree/master/results/reverse_vs_tmpbuf)
Notes for tmpbuf
: Compilers try to optimize copy from buffer to result destination (msvc use
memcpy
, gcc/clang use MOVUPS
) but it looks like there is not much benefits for such short amount of time and
such small buffer's size (maximum buffer size is 20 bytes for uint64_t
)
Best results table (combined with previous table):
| short | int | long | long long |
----------|--------------------------|---------|---------|-----------| 1 digit | karma/reverse/tmpbuf (1) | reverse | reverse | reverse | 2 digits | karma/reverse/tmpbuf (1) | reverse | reverse | reverse | 4 digits | karma/reverse/tmpbuf (1) | reverse | reverse | reverse | 10 digits | karma/reverse/tmpbuf (1) | reverse | reverse | reverse | ANY | karma/reverse/tmpbuf (1) | reverse | reverse | reverse |
(1): only for 64bit short
type test on macosx with clang, otherwise reverse
better: [link]
(https://github.com/ruslo/int-dec-format-tests/blob/master/results/reverse_vs_karma/macosx-clang-64bit-intel-core-i5-2.3GHz-short.txt)