You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by GitBox <gi...@apache.org> on 2020/04/28 12:48:35 UTC

[GitHub] [qpid-proton] jiridanek commented on pull request #211: PROTON-220 initial Google Benchmark proton-c and proton-cpp microbenchmarks

jiridanek commented on pull request #211:
URL: https://github.com/apache/qpid-proton/pull/211#issuecomment-620584826


   I am adding the ability to run the tests with previous versions of Proton, and being able to use the benchmark code with separately compiled proton installation. Currently I am aiming at Proton 0.19.0+.
   
   It is helpful to compile Proton with {{`-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE -DENABLE_WARNING_ERROR=OFF`}} for this, if you use new compiler (warnings) or if you have openssl and cyrus in nonstandard location (rpath).
   
   My CMakeLists.txt for this usecase looks like this
   
   ```
   cmake_minimum_required(VERSION 3.0)
   project(benchmarks)
   
   set(CMAKE_CXX_STANDARD 11)
   set(CMAKE_CXX_STANDARD_REQUIRED ON)
   set(CMAKE_CXX_EXTENSIONS OFF)
   
   # -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE
   find_package(Proton 0.18 REQUIRED COMPONENTS Core Proactor)
   find_package(ProtonCpp 0.19 REQUIRED)
   
   include_directories(${Proton_Core_INCLUDE_DIRS})
   
   # link everything everywhere
   link_libraries(${Proton_LIBRARIES})
   link_libraries(${ProtonCpp_LIBRARIES})
   # workaround, proton cpp .so does not set rpath for $ORIGIN, so these wouldn't be found otherwise
   link_libraries(${Proton_Core_LIBRARIES})
   link_libraries(${Proton_Proactor_LIBRARIES})
   
   # in-tree benchmarks link these libs, create dummy empty ones
   add_library(qpid-proton OBJECT IMPORTED)
   add_library(qpid-proton-cpp OBJECT IMPORTED)
   
   add_subdirectory(../c/benchmarks cbenchbin)
   add_subdirectory(../cpp/benchmarks cppbenchbin)
   ```
   
   With this, I can have historical charts (raw version, simply drawn in online spreadsheet). Also, I have set fixed CPU clock to 1.9 GHz, so that results are stable, but generally less than half of what can be achieved on maxed-out clock speeds. I am still not very confident about intel pstate cpu freq settings. I think what I got there now works ok...
   
   ![image](https://user-images.githubusercontent.com/442720/80488484-b2ec8e80-895e-11ea-90d3-5a8cf2062bf8.png)
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org