Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const int base = 10;
- function<int(int, int)> lambda1 = [](int i, int base)
- {
- return i * base;
- };
- total = 0;
- start = high_resolution_clock::now();
- for (int i = 0; i < num; ++i)
- {
- total += lambda1(i, base);
- }
- end = high_resolution_clock::now();
- std::cout<<"result: "<<total<<"\nlambda1 call elapsed: \t"<<duration_cast<nanoseconds>(end-start).count()<<" nanoseconds.\n"<<std::endl;
- function<int(int)> lambda2 = [base](int i)
- {
- return i*base;
- };
- total = 0;
- start = high_resolution_clock::now();
- for (int i = 0; i < num; ++i)
- {
- total += lambda2(i);
- }
- end = high_resolution_clock::now();
- std::cout<<"result: "<<total<<"\nlambda2 call elapsed: \t"<<duration_cast<nanoseconds>(end-start).count()<<" nanoseconds.\n"<<std::endl;
- /*result: 4995000
- lambda1 call elapsed: 4006 nanoseconds.
- result: 4995000
- lambda2 call elapsed: 3737 nanoseconds.*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement