X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/444abc179efeaa1cfa259f967fc68a7c032fe5eb..ca8a39f9679abcef3c5c546966e5144ec41f67c3:/ChangeLog?ds=sidebyside diff --git a/ChangeLog b/ChangeLog index fcce2b7360..2630539095 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,35 @@ -SimGrid (3.3.3-svn) unstable; urgency=low +SimGrid (3.3.3) stable; urgency=low - The "Desktop grid also matter" release. + The "Need for Speed" release. + + The timings done to validate the 3.3.2 were faulty. + Instead of being 5% faster, it was 15% slower (compared to 3.3.1). + + The problem was a conversion from a manually handled vector to + xbt_dynar_t on the critical path. + xbt_dynar_foreach calls functions, inducing stack management crap. + + We inlined these functions and xbt_dynar_foreach is now breath taking. + We also inlined xbt_swag_belong on the way. + + Here are some approximate speedup measurements (on master/slaves + simulations lasting between 10s and 20s each): + 3.3.1 -> 3.3.2: -15% + 3.3.2 -> 3.3.3: +40% + 3.3.1 -> 3.3.3: +40% + 3.3.1 with inline patch -> 3.3.3: +30% + + Our reading is that the refactoring which occurred in 3.3.2 made us + suffer much more from the xbt_dynar_foreach low performance, but + once we solved this, this refactoring proved to be very performance + effective. + + That's a pitty that gcc cannot inline functions placed in other files + alone. We have to choose between: + - break the encapsulation (by putting private data structures and + accessors in headers files to help gcc) + - live with low performance + - switch to a decent compiler such as icc (not quite possible). -- Da SimGrid team