celero是c++用来测试程序性能与运行效率的一个测试库, 通过celero可以方便的测试我们程序的性能
下载并编译celero
下载
celero下载地址:https://github.com/DigitalInBlue/Celero
cmake下载地址:https://cmake.org/download/
关于celero与cmake的使用这里就不一一赘述了,大家可以看下相关文章.
编译celero
安装好cmake环境之后,在celero目录下面新建一个build目录,这个目录是用于构建编译程序的,下面是我的celero目录情况:
然后在build目录下面执行cmake ..
此时,build目录下面会生成相应的构建文件,再执行make
命令会对celero源码进行编译并在build目录生成相应的so文件,效果如下:
这样的话,我们的celero库就已经编译好了,接下来就是怎么将这个so引入到我们的c++工程里面
使用celero库
首先新建一个c++程序目录:
mkdir celeroTest
然后在这个目录中新建一个src目录用于存放源码路径,在这个目录中再建一个include目录用于存放celero相应的头文件,接着在celeroTest目录下面见一个名为CMakeLists.txt的文件,在这个文件中加上以下命令:
PROJECT(CERLODEMO)
ADD_SUBDIRECTORY(src)
接着将celero库中的include/celero(包括celero文件夹)头文件复制到本程序目录的src/include里面, 接着在celeroTest目录下面建一个lib目录将编译好的so文件放在里面,然后在src目录下面新建一个CMakeLists.txt 然后在里面添加如下命令:
INCLUDE_DIRECTORIES(include/)
ADD_EXECUTABLE(smartDemo smartDemo.cpp)
MESSAGE(STATUS "this project path====>" ${PROJECT_SOURCE_DIR})
TARGET_LINK_LIBRARIES(smartDemo ${PROJECT_SOURCE_DIR}/lib/libcelero.so)
INCLUDE_DIRECTORIES
是指定头文件的路径
ADD_EXECUTABLE
是我们要编译的目标文件
参数说明:
- smartDemo 是编译成目标文件的名字
- smartDemo.cpp是我们的源码文件
TARGET_LINK_LIBRARIES
是将目标文件链接到共享库
关于这个cpp文件我在后面也会贴出来.
ok, 通过以上的配置,接下来就是编译代码了,还是与之前一样在,celeroTest目录下面新建build目录,然后cd build; cmake ..; make
接着会在build/src下面会生成编译好的可执行程序,效果如下:
然后执行./smartDemo
我们写的celero测试程序就执行了,效果如下:
从图中可以看到,如果在多次循环中用弱指针的话是非常耗资源的.
好了,celero库的编译与如何引入就说完了,下面就将这个c++测试程序贴出来供大家参考:
#include<stdlib.h>
#include<iostream>
#include