Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
release 3.3.3
[simgrid.git] / ChangeLog
index 339a034..2630539 100644 (file)
--- 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-devel@lists.gforge.inria.fr> 
+
 SimGrid (3.3.2) stable; urgency=low
 
  The "Simplicity does not preceed complexity, but follows it" release.