#include #include #include "tests.hpp" int main() { tests t; t.runTests(); auto startSlow{std::chrono::high_resolution_clock::now()}; stub *ptr{}; for (size_t i{}; i < 10000; i++) { ptr = new stub(); delete ptr; } auto endSlow{std::chrono::high_resolution_clock::now()}; std::cout << "Time (milliseconds) required for allocations without pool: " << std::chrono::duration_cast(endSlow - startSlow).count() << "\n"; auto startAlloc{std::chrono::high_resolution_clock::now()}; allocPool a(10000); auto endAlloc{std::chrono::high_resolution_clock::now()}; auto startFast{std::chrono::high_resolution_clock::now()}; for (size_t i{}; i < 10000; i++) { ptr = a.getPtr(); a.returnPtr(ptr); } auto endFast{std::chrono::high_resolution_clock::now()}; std::cout << "Time (milliseconds) required for allocations with pool: " << std::chrono::duration_cast(endFast - startFast).count() << "\n"; std::cout << "Time (milliseconds) required for real allocations when constructing pool: " << std::chrono::duration_cast(endAlloc - startAlloc).count() << "\n"; return 0; }