Revision: 5571
Author: [email protected]
Date: Fri Oct  1 01:28:28 2010
Log: Fine-tune inobject slack tracking.

The current parameters (initial slack = 6, kGenerousAllocationsCount = 16)
caused 15-20% performance regression on 3d-raytrace on x64
(visible both in standalone shell and in the web harness). This is very
likely some kind of an alignment problem (it goes away completely with --prof).
A similar problem can be observed on ia32 with initial slack=2.

Increased initial slack to 8 and decreased constructions count to 8.
This made the regression go away (and did not harm any of the other tests).

Review URL: http://codereview.chromium.org/3595002
http://code.google.com/p/v8/source/detail?r=5571

Modified:
 /branches/bleeding_edge/src/handles.cc
 /branches/bleeding_edge/src/objects.h

=======================================
--- /branches/bleeding_edge/src/handles.cc      Thu Sep 30 01:48:37 2010
+++ /branches/bleeding_edge/src/handles.cc      Fri Oct  1 01:28:28 2010
@@ -175,7 +175,7 @@

   // Inobject slack tracking will reclaim redundant inobject space later,
   // so we can afford to adjust the estimate generously.
-  return estimate + 6;
+  return estimate + 8;
 }


=======================================
--- /branches/bleeding_edge/src/objects.h       Fri Sep 24 14:48:44 2010
+++ /branches/bleeding_edge/src/objects.h       Fri Oct  1 01:28:28 2010
@@ -3537,7 +3537,7 @@
// Important: inobject slack tracking is not attempted during the snapshot
   //  creation.

-  static const int kGenerousAllocationCount = 16;
+  static const int kGenerousAllocationCount = 8;

   // [construction_count]: Counter for constructor calls made during
   // the tracking phase.

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to