turbolist/main.cpp

51 lines
1.0 KiB
C++
Raw Normal View History

2024-08-27 09:32:53 +02:00
// g++ main.cpp -o main
#include<cstdio>
#include<cstdint>
#include<chrono>
#include<vector>
2024-08-27 10:17:43 +02:00
#include"TurboList.hpp"
2024-08-27 09:32:53 +02:00
// #define PRINT_DBG
2024-08-27 10:53:44 +02:00
// #define N 65535
#define N 65535000
static inline size_t ms_now() noexcept {
auto now = std::chrono::system_clock::now();
auto dur = now.time_since_epoch();
auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(dur).count();
return ms;
}
static inline void printt(const char *prefix, size_t before, size_t after) noexcept {
printf("%s ", prefix);
printf("took %d ms\n", (after - before));
}
2024-08-27 09:32:53 +02:00
int main() {
2024-08-27 11:08:58 +02:00
std::vector<int> vec;
auto before_vector = ms_now();
for(int i = 0; i < N; ++i) {
vec.push_back(i);
}
auto after_vector = ms_now();
printt("vector", before_vector, after_vector);
TurboList list;
auto before_TurboList = ms_now();
for(int i = 0; i < N; ++i) {
list.insert(i);
}
auto after_TurboList = ms_now();
printt("TurboList", before_TurboList, after_TurboList);
#ifdef PRINT_DBG
2024-08-27 10:32:17 +02:00
for(int i = 0; i < list.size(); ++i) {
printf("%d\n", list[i]);
}
#endif /* PRINT_DBG */
2024-08-27 09:32:53 +02:00
return 0;
}