I took the time to get tracelogging up and running again and create V2 out of 
it. I think most know tracelogging already, but for those that don't: 

Tracelogging traces when which scripts runs and which engine we use for it. Out 
of the log information I create graphs showing when which engine is run. The 
graphs are visible on http://alasal.be/ionmonkey/ currently only for Octane.

So what is this reviving about. I had to patch spidermonkey properly again 
after baseline got added and jeagermonkey was removed. The patch to do this is 
in https://bugzilla.mozilla.org/show_bug.cgi?id=895019 and will get into 
mozilla-inbound as soon as it is open for some decent time. Everybody can trace 
any script by providing the --enable-trace-logging to ../configure (64bit only 
atm, I don't have enough registers on 32bit). Afterwards when a scripts run the 
information will be logged to /tmp/tracelogging.log.

I also created a python script to get some meaningful information out of it. 
Nice graphs ;). But actually much more info can get out of it. It's that file I 
used to profile octane and find problems in it. The python script that create 
nice graphs is on https://github.com/haytjes/tracelogger (generate.py).

I want to get this running automatically again. I'm looking into that, but I'll 
probably need a dedicated machine/hosting for this. Something like 
arewefastyet. So that's coming ;).

So I now made the graphs for octane, normal and the GGC version.

Some things I noticed on the graphs:
1) Nice work Terrence with GGC. The graphs of raytrace and earley-boyer are 
much nicer on it

2) There is something strange going on with Splay GGC. We could be much faster 
on it. It seems like we are stuck in baseline on splay.js:49 for a lot of time! 
That function is doing nothing but returning a value, but somehow that takes 
25% of the execution time (excluding gc). I guess something bogus is happening 
there. We don't have this issue on Non-GGC branch

3) Deltablue is taking 13% for compiling. That is a lot. Mostly caused by GC 
throwing all scripts away. We (terrence, nbp and I) have been talking and it 
would be a nice win if we could keep active scripts after GC's. The consensus 
was that it shouldn't be that hard and give a nice boost.

4) Pdf.js is still our problem child. We are jumping a lot between baseline and 
ionmonkey. I still haven't come around to look into it. Some issues are already 
reported by nbp. But we still have a long way to go with this benchmark.

5) Mandreel is taking a lot of time compiling. Mind this is IonBuilder only! 
(we run parallel compilation). 17% is spend in IonBuilder and we don't gc. So 
this is interesting and a nice place for improvement.

6) Gbemu runs way to much in baseline. That is 30%. I think we bail a lot in 
that benchmark. So we need to find out how to run more in ionmonkey for this 
benchmark.

7) Code-load runs only in interpreter/baseline. I think that is normal? Can 
someone confirm?
_______________________________________________
dev-tech-js-engine-internals mailing list
dev-tech-js-engine-internals@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Reply via email to