Closed Bug 654086 Opened 13 years ago Closed 6 years ago

Optimize the bit array walker in the slot tracer

Categories

(Tamarin Graveyard :: Garbage Collection (mmGC), defect, P3)

defect

Tracking

(Not tracked)

RESOLVED WONTFIX
Q1 12 - Brannan

People

(Reporter: lhansen, Unassigned)

References

Details

Attachments

(1 file)

The bit array walker is currently using the simple but fairly expensive bit walking functionality in FixedBitSet.  It's straightforward to provide an API with better performance characteristics; the code will be lifted out of a tentative patch on bug 650102.
Attached patch PatchSplinter Review
It's a wash on V8.5.  Most likely we'll need to test a microbenchmark that has a larger set of slots, some number of which are not pointers.

                                      avm          avm2
test                          best    avg   best    avg  %dBst  %dAvg
Metric: v8 custom v8 normalized metric (hardcoded in the test)
Dir: v8.5/js/
  crypto                       530  528.6    529  527.7   -0.2   -0.2   
  deltablue                    379  378.7    380    379    0.3    0.1   
  earley-boyer                1228 1220.4   1238 1221.3    0.8    0.1   
  raytrace                     790  789.7    787  785.8   -0.4   -0.5 - 
  regexp                       114  113.7    114  113.1      0   -0.5   
  richards                     310    310    311  310.2    0.3    0.1 + 
  splay                        943  942.6    950  947.3    0.7    0.5 + 
Dir: v8.5/optimized/
  crypto                      4257 4256.4   4252 4243.7   -0.1   -0.3   
  deltablue                   4082 4059.3   4040 4023.7   -1.0   -0.9 - 
  earley-boyer                1237   1229   1238   1226    0.1   -0.2   
  raytrace                    9848 9825.9   9799 9783.1   -0.5   -0.4 - 
  regexp                       114  113.4    113    113   -0.9   -0.4 - 
  richards                    4416 4413.6   4372 4365.1   -1.0   -1.1 - 
  splay                       7158 7134.8   7102   7084   -0.8   -0.7 - 
Dir: v8.5/typed/
  crypto                      3320 3313.7   3334 3330.9    0.4    0.5 + 
  deltablue                   4110 4076.5   4089 4064.3   -0.5   -0.3   
  earley-boyer                1234 1227.8   1232 1224.2   -0.2   -0.3   
  raytrace                    9867 9845.7   9818 9772.7   -0.5   -0.7 - 
  regexp                       114  113.6    114    113      0   -0.5   
  richards                    4422 4411.2   4377 4370.8   -1.0   -0.9 - 
  splay                       1215 1212.7   1227 1217.9    1.0    0.4 +
Deferring due to clear benefits.
Assignee: lhansen → nobody
Status: ASSIGNED → NEW
Target Milestone: Q3 11 - Serrano → Q4 11 - Anza
Target Milestone: Q4 11 - Anza → Q1 12 - Brannan
Flags: flashplayer-qrb+
Tamarin isn't maintained anymore. WONTFIX remaining bugs.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: