test.cpp 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #include<iostream>
  2. #include<typeinfo>
  3. #include"STL/extend/skiplist.h"
  4. #include<functional>
  5. #include<future>
  6. #include<chrono>
  7. #include<random>
  8. int fun(int a,int b)
  9. {
  10. return a+b;
  11. }
  12. int main()
  13. {
  14. nanxing_extend::skipList<int,int> test{15};
  15. int random[1024];
  16. std::mt19937 rnd(std::chrono::system_clock::now().time_since_epoch().count());
  17. for(auto& i:random)
  18. {
  19. i=static_cast<unsigned int>(rnd());
  20. }
  21. std::chrono::high_resolution_clock::time_point tp1 = std::chrono::high_resolution_clock::now();
  22. for(int i=0;i<200000;i++)
  23. {
  24. auto get=test.insert(random[i%1024],i);
  25. }
  26. std::chrono::high_resolution_clock::time_point tp2 = std::chrono::high_resolution_clock::now();
  27. std::chrono::duration<size_t, std::nano> dur = tp2 - tp1;
  28. test.Print();
  29. std::cout << "1 被计时代码耗时:" << std::chrono::duration_cast<std::chrono::nanoseconds>(dur).count() << " 纳秒" << std::endl;
  30. std::cout << "2 被计时代码耗时:" << std::chrono::duration_cast<std::chrono::microseconds>(dur).count() << " 微妙" << std::endl;
  31. std::cout << "3 被计时代码耗时:" << std::chrono::duration_cast<std::chrono::milliseconds>(dur).count() << " 毫秒" << std::endl;
  32. std::cout << "4 被计时代码耗时:" << std::chrono::duration_cast<std::chrono::seconds>(dur).count() << " 秒钟" << std::endl;
  33. std::cout << "5 被计时代码耗时:" << std::chrono::duration_cast<std::chrono::minutes>(dur).count() << " 分钟" << std::endl;
  34. std::cout << "6 被计时代码耗时:" << std::chrono::duration_cast<std::chrono::hours>(dur).count() << " 小时" << std::endl;
  35. }