Commit Graph

12 Commits

Author SHA1 Message Date
JCrawfy
0adb8a69b1 add micro benchmarking project, setup number parsing benchmark
relating to previous work https://github.com/tfussell/xlnt/issues/422
Results are matching what was observed at the time ^^ was being worked on
std::from_chars is included as the target to beat, but since only MSVC has it for floating point it's not
hugely useful yet

uniform real distribution is probably a horrible choice, and it might be good to randomise the number
of sf in each string also (currently the y all end up at max length)

Run on (4 X 3500 MHz CPU s)
CPU Caches:
  L1 Data 32K (x4)
  L1 Instruction 32K (x4)
  L2 Unified 262K (x4)
  L3 Unified 6291K (x1)
----------------------------------------------------------------------------------------------------------
Benchmark                                                                Time             CPU   Iterations
----------------------------------------------------------------------------------------------------------
RandFloats/double_from_string_sstream                                  804 ns          820 ns       896000
RandFloats/double_from_string_strtod                                   163 ns          162 ns      5973333
RandFloats/double_from_string_strtod_fixed                             175 ns          172 ns      5352107
RandFloats/double_from_string_strtod_fixed_const_ref                   150 ns          152 ns      5352107
RandFloats/double_from_string_std_from_chars                          87.1 ns         88.3 ns      9557333
RandFloatsComma/double_from_string_strtod_fixed_comma_ref              172 ns          173 ns      5146257
RandFloatsComma/double_from_string_strtod_fixed_comma_const_ref        180 ns          175 ns      5352107
2020-02-29 22:11:31 +13:00
Thomas Fussell
f27df9732c add option to enable linking with static C runtime when compiling with MSVC, #214 2017-09-13 10:20:51 -04:00
Thomas Fussell
7ed14246b2 clean up cmake files and add d suffix to xlnt debug library, closes #214 2017-09-08 14:33:18 -04:00
Thomas Fussell
104e3bea25 clean up samples and benchmarks, data handling 2017-04-13 20:18:32 -04:00
Thomas Fussell
05fb40438c Merge branch 'master' of github.com:tfussell/xlnt 2017-04-11 17:57:56 -04:00
Thomas Fussell
9fa9343d89 fix some stuff 2017-04-11 17:49:07 -04:00
Thomas Fussell
c87fdb1a1a link zlib to samples and benchmarks as a temporary workaround 2017-03-05 23:08:32 -05:00
Thomas Fussell
533a20bdc3 fix samples cmake lists 2017-03-05 22:59:55 -05:00
Thomas Fussell
0aa26019e2 clean up cmake lists 2017-03-05 22:39:27 -05:00
Thomas Fussell
ba533688c3 update samples and benchmarks build, work on ci scripts 2017-02-28 00:07:37 -05:00
Thomas Fussell
b42697e4cb begin working on benchmarks for #29 2016-12-03 12:13:17 +01:00
Thomas Fussell
c49341c82f clean up cmake build, fix warnings, improve configuration, general
housekeeping, fixes #72, fixes #70
2016-10-25 20:22:22 -04:00