dynamic_pool.cpp 836 B

12345678910111213141516171819202122232425262728293031323334
  1. #define BOOST_TEST_DYN_LINK
  2. #include "utility/debug_utility.hpp"
  3. #include "utility/dynamic_pool.hpp"
  4. #include <boost/test/unit_test.hpp>
  5. #include <chrono>
  6. #include <iostream>
  7. #include <vector>
  8. using namespace sophiar;
  9. using namespace std::chrono_literals;
  10. void test_dynamic_pool_func1() {
  11. std::vector<int> v1;
  12. std::vector<int, global_dynamic_allocator<int>> v2;
  13. FILE_LINE_TRACE
  14. for (int i = 0; i <= 1000000; ++i) v1.push_back(i);
  15. FILE_LINE_TRACE
  16. for (int i = 0; i <= 1000000; ++i) v2.push_back(i);
  17. FILE_LINE_TRACE
  18. auto sum = std::accumulate(v2.begin(), v2.end(), 0LL);
  19. BOOST_TEST(sum == 500000500000LL);
  20. }
  21. BOOST_AUTO_TEST_CASE(test_dynamic_pool) {
  22. initialize({});
  23. test_dynamic_pool_func1();
  24. test_dynamic_pool_func1();
  25. test_dynamic_pool_func1();
  26. test_dynamic_pool_func1();
  27. }