Cool, that maybe helpful. I will try it and see if I can identify any thing interestring here.

Thanks
Athrun

At 2014-07-04 08:10:46, "Adam Romanek" <romanek.adam@gmail.com> wrote: >On 03.07.2014 23:10, ·ΉΝ° wrote: >> Hi, >> >> Does anyone know why -std=c++11 causes so much difference on >> boost::function? >> >> I was planed to understand if there any performance issues with big size >> of parameters. >> So I wrote a function that takes a vector as parameter, like func2 >> shows. I know it's better to use a pointer or reference as function >> parameter. I just want to evaluate the performance, so let's keep the >> vector as parameter. >> >> However, I found that it's quite slow when compiled with -std=c++11. In >> detail, it takes 173874 milliseconds with C++11, while it takes 3676 >> seconds without C++11. >> >> About 50 times slower!! How can that be? >> >> In my opinion, I thought boost::function should had the same performance >> with std::function. So I decided to try std::function in C++11 directly, >> Finally, it takes about 29233 milliseconds. That's till 8 times slows! >> >> Can anyone tell me what happend here? >> >> int func2(std::vector<int> i){ >> total += i.size(); >> return i.size(); >> } >> >> const int T = 1000000; >> s = boost::chrono::system_clock::now(); >> for (int i = 0; i < T; ++i) >> call(boost::bind(&func2, v)); >> e = boost::chrono::system_clock::now(); >> >> In case you need to know my enviorment, my OS is Arch, compiler is gcc >> 4.9.0, and optimizations are default. >> The execution time (ms) of three versions I tried: >> boost::function with C++11 : 173874 >> boost::function without C++11 : 3676 >> std::function in C++11 : 29233 >> >> Any thoughts are appreciated! > >Hi! > >I'd run the example code through Callgrind (valgrind --tool=callgrind) >and then compare the reports in KCachegrind. This should at least give >you an idea of the source of the problem. > >I may do that myself during the weekend in case you would not able to do >that on your own. > >WBR, >Adam Romanek > > >_______________________________________________ >Boost-users mailing list >Boost-users@lists.boost.org >http://lists.boost.org/mailman/listinfo.cgi/boost-users