Add a script to run octane N times and aggregate results as a CSV, and another script to plot that CSV data

RESOLVED FIXED in Firefox 51

Status

()

Core
JavaScript Engine
RESOLVED FIXED
a year ago
a year ago

People

(Reporter: fitzgen, Assigned: fitzgen)

Tracking

unspecified
mozilla51
Points:
---

Firefox Tracking Flags

(firefox51 fixed)

Details

Attachments

(1 attachment)

Comment hidden (empty)
Created attachment 8789931 [details] [diff] [review]
Add a script to run octane N times and aggregate results as a CSV, and another script to plot that CSV data
Attachment #8789931 - Flags: review?(sphink)
The plot-octane.R only plots the total score at the moment. Whoever wants breakdowns per-sub-suite can extend it in the future.
Assignee: nobody → nfitzgerald
Status: NEW → ASSIGNED
Comment on attachment 8789931 [details] [diff] [review]
Add a script to run octane N times and aggregate results as a CSV, and another script to plot that CSV data

Review of attachment 8789931 [details] [diff] [review]:
-----------------------------------------------------------------

That's more R than I ever knew. I'll take your word for it.

::: js/src/devtools/octane-csv.sh
@@ +28,5 @@
> +if [[ "$#" != "2" ]]; then
> +    usage_and_exit
> +fi
> +
> +# Get the absolute, normalized $JS path, and ensure its an executable.

you could also be lazy and say

JS=$(realpath $1)

but I won't fault you for being explicit and covering more cases. (And I don't know whether eg osx has realpath.)

@@ +32,5 @@
> +# Get the absolute, normalized $JS path, and ensure its an executable.
> +
> +JS_DIR=$(dirname $1)
> +if [[ ! -d "$JS_DIR" ]]; then
> +    echo "error: no such directory $JS_DIR"

echo "..." 1>&2

@@ +40,5 @@
> +
> +JS=$(basename $1)
> +cd "$JS_DIR" > /dev/null
> +JS="$(pwd)/$JS"
> +if [[ ! -e "$JS" ]]; then

-x

-e is "exists"

@@ +41,5 @@
> +JS=$(basename $1)
> +cd "$JS_DIR" > /dev/null
> +JS="$(pwd)/$JS"
> +if [[ ! -e "$JS" ]]; then
> +    echo "error: '$JS' is not executable"

1>&2 again

@@ +57,5 @@
> +# Run once as a warm up, and to grab the column headers. Then run the benchmark
> +# $ITERS times, grabbing just the data rows.
> +
> +echo "Warm up" 1>&2
> +"$JS" ./run.js | grep -v "\-\-\-\-" | cut -f 1 -d ':' | tr '\n' ','

personally, I would do grep -v -- "----", but same thing
Attachment #8789931 - Flags: review?(sphink) → review+
(In reply to Steve Fink [:sfink] [:s:] from comment #3)
> you could also be lazy and say
> 
> JS=$(realpath $1)
> 
> but I won't fault you for being explicit and covering more cases. (And I
> don't know whether eg osx has realpath.)

Unfortunately, this sees through the symlinks and stuff and ends up with libmozglue not getting found/loaded and the shell not working.

> @@ +40,5 @@
> > +
> > +JS=$(basename $1)
> > +cd "$JS_DIR" > /dev/null
> > +JS="$(pwd)/$JS"
> > +if [[ ! -e "$JS" ]]; then
> 
> -x
> 
> -e is "exists"

D'oh, thanks

Comment 5

a year ago
Pushed by nfitzgerald@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/eab4e2f9adb4
Add a script to run octane N times and aggregate results as a CSV, and another script to plot that CSV data; r=sfink

Comment 6

a year ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/eab4e2f9adb4
Status: ASSIGNED → RESOLVED
Last Resolved: a year ago
status-firefox51: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla51
You need to log in before you can comment on or make changes to this bug.