Voici le code utilisé par Ilari et Michael pour obtenir de l'information sur le comportement de V8.

Erick

-------- Message original --------
Sujet: Re: Quantifying Optimization Efficacy
Date : Mon, 25 Mar 2013 14:03:40 -0400
De : Ilari Shafer <mrcaps@gmail.com>
Pour : Erick Lavoie <erick.lavoie@gmail.com>
Copie à : mmaass@cs.cmu.edu, ishafer@cs.cmu.edu


Not sure - for whatever reason we started developing on a git repo in Assembla. If anything, it saved us from worrying too much about usernames and passwords for the tests (I just scrubbed a few, oops) :) 

Enjoy: https://github.com/mrcaps/optimization-efficacy

Cheers,
Ilari

On Mon, Mar 25, 2013 at 1:48 PM, Erick Lavoie <erick.lavoie@gmail.com> wrote:
Actually I was thinking of the second option but I was wondering if you had a particular reason for not having done it before.

Thanks!
Erick

Le 13-03-25 13:38 , Ilari Shafer a écrit :
We don't mind, although it'd be helpful to know what form you were thinking of:
 * taking pieces or all of it and putting them in the photon-js repo - go right ahead
 * starting a separate repo for it as-is: we'll put it up on github and send you where to fork it from (if only, selfishly, so that we can track who uses it)

Cheers,
Ilari

On Sun, Mar 24, 2013 at 9:21 PM, Erick Lavoie <erick.lavoie@gmail.com> wrote:
Oh, do you guys mind if I put your implementation on github? I'll make sure to properly give you credit for the work ;-).

Erick


Le 13-03-24 19:50 , Ilari Shafer a écrit :
Hi Erick,

Thanks for your message! It's great to see you're working on an instrumentation tactic that isn't tied to a given browser, and even without the optimization you're planning Photon is really quite impressive in terms of low overhead (I would have feared much more).

We're quite happy to share the source; attached is an archive of the source; the README.md in there has some additional information.

A few disclaimers belong up front :) -
* Much of this is significantly easier if you don't need Chromium and can just use v8 to run the tests you're interested in (v8bench, sunspider, ...). It looks that this is the case with Photon?
* This was built against a copy of the tree around 11 months ago, so your mileage may vary.
* If you want something to cite for motivation purposes (e.g., importance of instrumentation for real-world code), we'll push out a techreport of this given that multiple folks have asked about it. I'll send you a note when it's ready.

A quick overview of the instrumentation parts of the framework -
* Profiler: we turned it on with the --js-flags="--prof-browser-mode --noprof-lazy" arguments to Chromium (see src/chrome.py) and modified the profiler parse scripts to emit some machine-readable json output (see src/tools). The profile output is essentially the same as what you'll see in the within-browser "profiles" tab.
* Counters: the source changes in src/v8/src are modifications to the src/v8/src.orig sources from the v8 directory of Chromium. Note that we can't currently gather counters and profiles at the same time.
(see README.md for more)

Hope that helps; let us know if there's anything else we can provide.

Cheers,
Ilari

On Sun, Mar 24, 2013 at 3:58 PM, Erick Lavoie <erick.lavoie@gmail.com> wrote:
Hi Michael and Ilari,

I just stumpled upon your web report on Quantifying Optimization Efficacy and found it really interesting. I am one of the authors of the Tachyon JS VM and I am currently working on Photon, a metacircular VM for JS run-time instrumentation which runs over V8, and we currently face the problem of understanding where are the bottlenecks of our approach in terms of performance.

First, I wanted to thank you guys for having done that work, I am sure there are insights that are going to be useful for us. Second, can I have access to the source code/patches/instrumented version of Chrome you used? That could be really useful for us to nail down the effect of our system on V8.

Thanks!

Erick