1. 06 3月, 2017 1 次提交
  2. 03 3月, 2017 12 次提交
  3. 02 3月, 2017 3 次提交
  4. 01 3月, 2017 4 次提交
    • N
      📝 added a note to ordered maps · f84ac523
      Niels Lohmann 提交于
      The library does not preserve the insertion order of object keys. There
      are frequent requests to change the library in this aspect. The README
      and the contribution guidelines now contain links to containers that
      can be used to replace std::map to preserve the insertion order.
      f84ac523
    • N
      🔀 merge branch 'feature/serialization_class' into develop (#418) · 41f9b325
      Niels Lohmann 提交于
      Moved 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%
      41f9b325
    • N
      💄 cleanup · d69242c6
      Niels Lohmann 提交于
      - 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.
      d69242c6
    • N
      💄 fixed a warning · 059f21aa
      Niels Lohmann 提交于
      snprintf returns an int, but we later assign it a difference_type which
      is usually a long.
      059f21aa
  5. 28 2月, 2017 4 次提交
    • N
      micro-optimization of dump() · 224f9907
      Niels Lohmann 提交于
      A 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.
      224f9907
    • N
      🐛 fixed a logical error · fc48b8ac
      Niels Lohmann 提交于
      Treated 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.
      fc48b8ac
    • N
      🔨 integrating numtostr into serializer class · af070744
      Niels Lohmann 提交于
      By merging numtostr into serializer, we can write directly to the
      output stream. As a consequence, all stream calls are now unformatted.
      af070744
    • N
      🔨 moved serialization functions to serializer class · 54ef5f7b
      Niels Lohmann 提交于
      The 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.
      54ef5f7b
  6. 27 2月, 2017 4 次提交
  7. 26 2月, 2017 5 次提交
  8. 25 2月, 2017 3 次提交
  9. 23 2月, 2017 4 次提交