C++ uuid_generate time cost
//Util.h
#ifndef Util_H #define Util_H #include <functional> #include <iostream> #include <mysql/mysql.h> #include <random> #include <sstream> #include <string.h> #include <thread> #include <uuid/uuid.h> #include <vector> #include "Model/Geeks.h" #include "Model/Parent.h" #include "Model/BookStruct.cpp" class Util { public: static char *uuidValue; static char *dtValue; void testTimeUuid(int loops); char *getUuid(); void printTimeCost13(chrono::time_point<chrono::system_clock> startTime, chrono::time_point<chrono::system_clock> endTime); }; #endif
//Util.cpp #include "Model/Util.h" char *Util::uuidValue = (char *)malloc(40); char *Util::dtValue = (char *)malloc(20); void Util::testTimeUuid(int loops) { int interval=1000000; chrono::time_point<chrono::system_clock> startTime; chrono::time_point<chrono::system_clock> endTime; for(int i=0;i<loops;i++) { startTime=chrono::system_clock::now(); for(int j=0;j<interval;j++) { getUuid(); } endTime=chrono::system_clock::now(); cout<<"Loop="<<i<<endl; printTimeCost13(startTime,endTime); } } char *Util::getUuid() { uuid_t newUUID; uuid_generate(newUUID); uuid_unparse(newUUID, uuidValue); return uuidValue; } void Util::printTimeCost13(chrono::time_point<chrono::system_clock> startTime, chrono::time_point<chrono::system_clock> endTime) { cout <<"Time cost:" << chrono::duration_cast<chrono::seconds>(endTime - startTime).count() << " seconds," << chrono::duration_cast<chrono::milliseconds>(endTime - startTime).count() << " milliseconds," << chrono::duration_cast<chrono::microseconds>(endTime - startTime).count() << " milliseconds," << chrono::duration_cast<chrono::nanoseconds>(endTime - startTime).count() << " nanoseconds!!!" << endl; }
//h1.cpp #include "Model/Util.h" void uuidTest13(int loops); int main(int args,char **argv) { try { uuidTest13(atoi(argv[1])); } catch(const std::exception& e) { std::cerr << e.what() << '\n'; } } void uuidTest13(int loops) { Util ul; ul.testTimeUuid(loops); }
Complile:
g++ -g -std=c++2a -I. *.cpp ./Model/*.cpp -o h1 -lmysqlclient -luuid -lpthread;
Execute in Win10+VMWare WorkStation Pro+Ubuntu+g++
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2021-05-24 C++ write time string and uuid to file