X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/30d974c465aad01f80c4d5c41576456717b7c145..ca8a39f9679abcef3c5c546966e5144ec41f67c3:/ChangeLog diff --git a/ChangeLog b/ChangeLog index 339a03464c..2630539095 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,38 @@ +SimGrid (3.3.3) stable; urgency=low + + 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 + SimGrid (3.3.2) stable; urgency=low The "Simplicity does not preceed complexity, but follows it" release.