- 28 Feb, 2017 5 commits
-
-
🔀 Niels Lohmann authoredMoved all dump()-related functions into a class "serializer". This fix includes a lot of performance improvements yielding a 7% speedup for serialization. Details on the individual steps can be found in the commit messages. Individual benchmark numbers: before: dump jeopardy.json 5 374555228 ns/op dump jeopardy.json with indent 5 430953700 ns/op dump numbers/floats.json 5 622938509 ns/op dump numbers/signed_ints.json 20 82177979 ns/op after: dump jeopardy.json 5 335449757 ns/op -11% dump jeopardy.json with indent 5 375467773 ns/op -13% dump numbers/floats.json 5 584611852 ns/op -7% dump numbers/signed_ints.json 20 68289574 ns/op -17%
-
💄 Niels Lohmann authored- Added comments for the serializer class. - Added test case for resizing of the indentation string. - Using std::none_of to check if “.0” needs to be added to floating-point number.
-
💄 Niels Lohmann authoredsnprintf returns an int, but we later assign it a difference_type which is usually a long.
-
⚡ Niels Lohmann authoredA lot of small changes to avoid memory allocations: - The locale is only queried once rather than with every number serialization. - The indentation string is recycled between different calls. - The string escape function avoids a copy if no escaping is necessary. - The string escape and the space function use a complete switch case instead of cascaded ifs. Cachegrind measures some 15% performance improvement.
-
🐛 Niels Lohmann authoredTreated the size of the range as the number of thousand separators. This logical error yielded a negative value for written_bytes and eventually an infinite loop, as written_bytes was converted to an unsigned value.
-
- 27 Feb, 2017 5 commits
-
-
🔨 Niels Lohmann authoredBy merging numtostr into serializer, we can write directly to the output stream. As a consequence, all stream calls are now unformatted.
-
🔨 Niels Lohmann authoredThe class is currently just a wrapper for an std::ostream and collects all functions related to serialization. The next step should be recycling of variables to avoid repetitive initialization for each recursive dump call.
-
⏪ ⚡ Niels Lohmann authoredThis reverts commit 909b439b. For some strange reason, the test suite crashes when compiled with GCC.
-
⚡ Niels Lohmann authorednumtostr now directly writes to a stream. Return value of snprintf is reused to avoid finding end of string. Cachegrind suggests a 1% performance increase.
-
⚡ Niels Lohmann authoredAll ‘<<‘ calls have been replaced by write()/put() calls. The indentation strings needs not to be resized. Cachegrind measures 1% performance improvement.
-
- 26 Feb, 2017 6 commits
-
-
⚡ Niels Lohmann authoredIndentation string is recycled to avoid allocations. Comma-separation in objects does not need an if any more. Cachegrind measures 1% performance improvement.
-
⚡ Niels Lohmann authoredAdded separate code paths for normal output and pritty-printed output. This allowed to remove most of the ifs along the way. Benchmarks and cachegrind suggest a 10% performance improvement.
-
💄 Niels Lohmann authored -
✅ Niels Lohmann authored -
✅ Niels Lohmann authored -
⚡ Niels Lohmann authored
-
- 25 Feb, 2017 3 commits
-
-
📝 Niels Lohmann authored -
🔀 Niels Lohmann authored -
🔖 Niels Lohmann authored
-
- 22 Feb, 2017 5 commits
-
-
📝 Niels Lohmann authored -
💄 Niels Lohmann authored -
🔀 Niels Lohmann authored🔀 merge branch 'cotire' of https://github.com/tusharpm/json into tusharpm-cotire -
🚧 Niels Lohmann authored -
💄 Niels Lohmann authored
-
- 21 Feb, 2017 1 commit
-
-
🚧 Niels Lohmann authored
-
- 20 Feb, 2017 8 commits
-
-
🚑 Niels Lohmann authored -
🎨 Niels Lohmann authored -
🚧 Niels Lohmann authored -
🐛 Niels Lohmann authored -
🐛 Niels Lohmann authored -
🔨 Niels Lohmann authored -
🚧 Niels Lohmann authored -
💄 Niels Lohmann authored
-
- 19 Feb, 2017 7 commits
-
-
🚑 Niels Lohmann authored -
✨ Niels Lohmann authored -
✅ Niels Lohmann authored -
Niels Lohmann authored
-
🚧 Niels Lohmann authored -
-
⚡ Tushar Maheshwari authored- Add prefix header - Include catch.hpp - Include json.hpp - Replace private with public for all json_unit files - Move `unit.cpp` to an object library - cotire issue: strip whitespace from CMAKE_INCLUDE_SYSTEM_FLAG_CXX
-