mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-24 00:47:57 -05:00
... you are too slow and QJson API is so ugly. Now using this wonderful json lib: https://github.com/nlohmann/json Results in release mode (QJson tests are not shown but QJson was even slower than string concat). PASS : TestQgsJsonUtils::testExportAttributesJson(Use json) RESULT : TestQgsJsonUtils::testExportAttributesJson():"Use json": 0.0022 msecs per iteration (total: 75, iterations: 32768) PASS : TestQgsJsonUtils::testExportAttributesJson(Use old string concat) RESULT : TestQgsJsonUtils::testExportAttributesJson():"Use old string concat": 0.0032 msecs per iteration (total: 54, iterations: 16384) PASS : TestQgsJsonUtils::testExportFeatureJson(Use json) RESULT : TestQgsJsonUtils::testExportFeatureJson():"Use json": 0.011 msecs per iteration (total: 96, iterations: 8192) PASS : TestQgsJsonUtils::testExportFeatureJson(Use old string concat) RESULT : TestQgsJsonUtils::testExportFeatureJson():"Use old string concat": 0.015 msecs per iteration (total: 64, iterations: 4096) PASS : TestQgsJsonUtils::testExportGeomToJson(Use json) RESULT : TestQgsJsonUtils::testExportGeomToJson():"Use json": 0.76 msecs per iteration (total: 98, iterations: 128) PASS : TestQgsJsonUtils::testExportGeomToJson(Use old string concat) RESULT : TestQgsJsonUtils::testExportGeomToJson():"Use old string concat": 0.85 msecs per iteration (total: 55, iterations: 64) PASS : TestQgsJsonUtils::cleanupTestCase()
24 lines
516 B
C++
24 lines
516 B
C++
#pragma once
|
|
|
|
// restore GCC/clang diagnostic settings
|
|
#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
|
|
#pragma GCC diagnostic pop
|
|
#endif
|
|
#if defined(__clang__)
|
|
#pragma GCC diagnostic pop
|
|
#endif
|
|
|
|
// clean up
|
|
#undef JSON_INTERNAL_CATCH
|
|
#undef JSON_CATCH
|
|
#undef JSON_THROW
|
|
#undef JSON_TRY
|
|
#undef JSON_LIKELY
|
|
#undef JSON_UNLIKELY
|
|
#undef JSON_DEPRECATED
|
|
#undef JSON_NODISCARD
|
|
#undef JSON_HAS_CPP_14
|
|
#undef JSON_HAS_CPP_17
|
|
#undef NLOHMANN_BASIC_JSON_TPL_DECLARATION
|
|
#undef NLOHMANN_BASIC_JSON_TPL
|