#include #include #include #include #include "librf.h" const size_t N = 5000000; const size_t LOOP_COUNT = 50; std::atomic globalValue{0}; void resumable_main_benchmark_mem(bool wait_key) { using namespace std::chrono; for (size_t i = 0; i < N; ++i) { go[=]()->librf::generator_t { for (size_t k = 0; k < LOOP_COUNT; ++k) { globalValue += i * k; co_yield k; } co_return 0; }; } librf::this_scheduler()->run_until_notask(); if (wait_key) { std::cout << "press any key to continue." << std::endl; (void)getchar(); } } //clang : 平均 210字节 //msvc : 平均600字节 int main() { resumable_main_benchmark_mem(false); return 0; }