From 7277cbd14aed0c695ac3b104b69cde454803c73c Mon Sep 17 00:00:00 2001 From: Neil Gershenfeld <gersh@cba.mit.edu> Date: Sat, 24 Nov 2018 08:18:43 -0500 Subject: [PATCH] wip --- JavaScript/pi.html | 8 ++++---- Node/clusterpi.js | 2 +- Node/pi.js | 19 +++++++++++++++++++ README.md | 1 + 4 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 Node/pi.js diff --git a/JavaScript/pi.html b/JavaScript/pi.html index b092f26..435cbcc 100644 --- a/JavaScript/pi.html +++ b/JavaScript/pi.html @@ -17,9 +17,9 @@ function serial_benchmark() { var pi = 0 var tstart = Date.now()/1000 for (var i = 1; i <= points; ++i) - pi += a/((i-b)*(i-c)); + pi += a/((i-b)*(i-c)) var tend = Date.now()/1000 - var mflops = points*5.0*1e-6/(tend-tstart); + var mflops = points*5.0*1e-6/(tend-tstart) document.getElementById('div_pi_serial').innerHTML = 'pi: '+pi document.getElementById('div_time_serial').innerHTML = 'time: '+(tend-tstart).toFixed(1)+'s' document.getElementById('div_flop_serial').innerHTML = 'estimated MFlops: '+mflops.toFixed(1) @@ -34,7 +34,7 @@ function reduce_benchmark() { var array = new Float64Array(points) var pi = array.reduce(function(sum,val,i,arr){return sum+a/(((i+1)-b)*((i+1)-c))},0) var tend = Date.now()/1000 - var mflops = points*5.0*1e-6/(tend-tstart); + var mflops = points*5.0*1e-6/(tend-tstart) document.getElementById('div_pi_reduce').innerHTML = 'pi: '+pi document.getElementById('div_time_reduce').innerHTML = 'time: '+(tend-tstart).toFixed(1)+'s' document.getElementById('div_flop_reduce').innerHTML = 'estimated MFlops: '+mflops.toFixed(1) @@ -56,7 +56,7 @@ function parallel_benchmark() { workers[evt.data.index].terminate() if (results.length == threads) { var tend = Date.now()/1000 - var mflops = (threads*points)*5.0*1e-6/(tend-tstart); + var mflops = (threads*points)*5.0*1e-6/(tend-tstart) var pi = results.reduce(function(x,y){return x+y},0) document.getElementById('div_pi_parallel').innerHTML = 'pi: '+pi document.getElementById('div_time_parallel').innerHTML = 'time: '+(tend-tstart).toFixed(1)+'s' diff --git a/Node/clusterpi.js b/Node/clusterpi.js index 61b49af..194c57d 100644 --- a/Node/clusterpi.js +++ b/Node/clusterpi.js @@ -25,7 +25,7 @@ function master() { results += 1 if (results == processes) { var tend = Date.now()/1000 - var mflops = (processes*points)*5.0*1e-6/(tend-tstart); + var mflops = (processes*points)*5.0*1e-6/(tend-tstart) console.log('pi: '+pi) console.log('time: '+(tend-tstart).toFixed(1)+'s') console.log('processes: '+processes) diff --git a/Node/pi.js b/Node/pi.js new file mode 100644 index 0000000..3fa5fae --- /dev/null +++ b/Node/pi.js @@ -0,0 +1,19 @@ +// +// pi.js +// Neil Gershenfeld 11/24/18 +// pi calculation benchmark +// pi = 3.14159265358979323846 +// +var points = 1e8 +var a = 0.5 +var b = 0.75 +var c = 0.25 +var pi = 0 +var tstart = Date.now()/1000 +for (var i = 1; i <= points; ++i) + pi += a/((i-b)*(i-c)) +var tend = Date.now()/1000 +var mflops = points*5.0*1e-6/(tend-tstart) +console.log('pi: '+pi) +console.log('time: '+(tend-tstart).toFixed(1)+'s') +console.log('estimated MFlops: '+mflops.toFixed(1)) diff --git a/README.md b/README.md index edfb9eb..95020ca 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ |9.371|[pi.c](C/pi.c)|C<br>gcc pi.c -o pi -lm -O3 -ffast-math|Intel i7-8700T|Nov 17, 2018| |3.734|[pi.html](https://pub.pages.cba.mit.edu/pi/JavaScript/pi.html)|JavaScript, 1 worker|Intel i7-8700T|Nov 17, 2018| |3.472|[pi.html](https://pub.pages.cba.mit.edu/pi/JavaScript/pi.html)|JavaScript, 1 worker|Intel 2x E5-2680|Nov 19, 2018| +|3.817|[pi.js](Node/pi.js)|Node|Intel 2x E5-2680|Nov 24, 2018| |3.007|[clusterpi.js](Node/clusterpi.js)|Node, 12 processes|Intel 2x E5-2680|Nov 24, 2018| |0.573|[pi.c](C/pi.c)|C<br>gcc pi.c -o pi -lm|Intel i7-8700T|Nov 17, 2018| |0.470|[numpi.py](Python/numpi.py)|Python, NumPy|Intel i7-8700T|Nov 17, 2018| -- GitLab