ProfilingGC
From Gnash Project Wiki
Contents |
Input movie
- Movie: Creative_Commons_-_Get_Creative.swf
- md5: 9400c31bb84b50dae3e1495f99c9b1f3
- url: http://mirrors.creativecommons.org/getcreative/Creative_Commons_-_Get_Creative.swf
Profiling
Profiling is performed using the new -f switch of gnash, having gnash print the FPS every second.
Setup 1
Movie is run with gnash -1 -r0 -f1 -d1, which means:
- no rendering
- no sound
- 1 millisecond of delay between iterations
- play once
The movie is run 10 times, and the average printed FPS is taken at end of each run. Note that the average is slightly off due to a bug in the fps printing routine always printing an FPS of 0 the first time.
Gnash code is the CVS version as of Jul 2 2007 17:00 NY time. The test was run with three configurations:
- untouched source code (GC enabled)
- GC with expensive assertion ensuring the same GcResource is not added multiple time removed
- GC off
Here are the results:
* Code untouched
Avg: 84.0923 Avg: 83.1723 Avg: 84.7131 Avg: 85.1333 Avg: 83.9496 Avg: 83.1289 Avg: 82.5998 Avg: 83.9886 Avg: 83.8675 Avg: 83.9114 Avg: 83.4771 GC collector run 4827 times
* GC expensive assertion removed
Avg: 88.3254 Avg: 87.7744 Avg: 89.0691 Avg: 96.5341 Avg: 90.0147 Avg: 88.665 Avg: 88.9902 Avg: 89.0389 Avg: 93.1845 Avg: 88.2487 GC collector run 4827 times
* GC disabled
Avg: 109.195 Avg: 108.568 Avg: 108.443 Avg: 108.741 Avg: 108.952 Avg: 109.027 Avg: 109.045 Avg: 109.015 Avg: 109.29 Avg: 108.849
* GC collector only running if more then 10 collectables were added into the list since last run (and the expensive assertion removed)
Avg: 107.248 Avg: 107.122 Avg: 107.775 Avg: 107.566 Avg: 106.615 Avg: 107.875 Avg: 107.139 Avg: 107.738 Avg: 107.243 Avg: 107.543 The collector run 134 times in this case
Interesting testcases
-
Bug #19926contains a link to a movie registering over 5000 collectables. -
Bug #22461 - Bug #22488
- Task #7831 is the "optimize GC" task.

