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()
70 lines
2.1 KiB
CMake
70 lines
2.1 KiB
CMake
########################################################
|
|
# Files
|
|
|
|
SET (BENCH_SRCS
|
|
main.cpp
|
|
qgsbench.cpp
|
|
)
|
|
|
|
SET (BENCH_MOC_HDRS
|
|
qgsbench.h
|
|
)
|
|
|
|
########################################################
|
|
# Build
|
|
|
|
QT5_WRAP_CPP (BENCH_MOC_SRCS ${BENCH_MOC_HDRS})
|
|
|
|
ADD_EXECUTABLE (qgis_bench MACOSX_BUNDLE WIN32 ${BENCH_SRCS} ${BENCH_MOC_SRCS} )
|
|
|
|
INCLUDE_DIRECTORIES(
|
|
${CMAKE_SOURCE_DIR}/src/core
|
|
${CMAKE_SOURCE_DIR}/src/core/expression
|
|
${CMAKE_SOURCE_DIR}/src/core/geometry
|
|
${CMAKE_SOURCE_DIR}/src/core/metadata
|
|
${CMAKE_SOURCE_DIR}/src/core/raster
|
|
${CMAKE_SOURCE_DIR}/external
|
|
|
|
${CMAKE_BINARY_DIR}
|
|
${CMAKE_BINARY_DIR}/src/core
|
|
)
|
|
INCLUDE_DIRECTORIES(SYSTEM
|
|
${SQLITE3_INCLUDE_DIR}
|
|
)
|
|
|
|
TARGET_LINK_LIBRARIES(qgis_bench
|
|
qgis_core
|
|
${SQLITE3_LIBRARY}
|
|
${Qt5Core_LIBRARIES}
|
|
${Qt5Network_LIBRARIES}
|
|
${Qt5Svg_LIBRARIES}
|
|
${Qt5Xml_LIBRARIES}
|
|
${OPTIONAL_QTWEBKIT}
|
|
${Qt5Test_LIBRARIES}
|
|
)
|
|
|
|
IF(APPLE)
|
|
SET_TARGET_PROPERTIES(qgis_bench PROPERTIES
|
|
INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${QGIS_LIB_DIR}
|
|
INSTALL_RPATH_USE_LINK_PATH true
|
|
)
|
|
ENDIF(APPLE)
|
|
|
|
########################################################
|
|
# Install
|
|
|
|
INSTALL (TARGETS qgis_bench
|
|
BUNDLE DESTINATION ${QGIS_BIN_DIR}
|
|
RUNTIME DESTINATION ${QGIS_BIN_DIR}
|
|
)
|
|
IF (APPLE)
|
|
INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfn ../../../${QGIS_FW_SUBDIR} \"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${QGIS_BIN_DIR}/qgis_bench.app/Contents/Frameworks\")")
|
|
INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfn ../../../../${QGIS_LIB_SUBDIR} \"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${QGIS_BIN_DIR}/qgis_bench.app/Contents/MacOS/lib\")")
|
|
INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfn ../../../${QGIS_PLUGIN_SUBDIR}/.. \"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${QGIS_BIN_DIR}/qgis_bench.app/Contents/Plugins\")")
|
|
INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfn ../../../${QGIS_DATA_SUBDIR} \"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${QGIS_BIN_DIR}/qgis_bench.app/Contents/Resources\")")
|
|
# may not exist, unless BundleUtilities are used
|
|
INSTALL (CODE "EXECUTE_PROCESS(COMMAND ln -sfn ../../../../share \"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${QGIS_BIN_DIR}/qgis_bench.app/Contents/MacOS/share\")")
|
|
|
|
ENDIF (APPLE)
|
|
|