Skip to content
Snippets Groups Projects
Commit f5d40df2 authored by Neil Gershenfeld's avatar Neil Gershenfeld
Browse files

wip

parent 3194532a
No related branches found
No related tags found
No related merge requests found
Pipeline #2720 passed
//
// clusterpi.js
// Neil Gershenfeld 11/23/18
// pi calculation benchmark
// pi = 3.14159265358979323846
//
const cluster = require('cluster')
const points = 1e8
if (cluster.isMaster)
master()
else
child()
function master() {
var processes = require('os').cpus().length
var tstart = Date.now()/1000
for (var i = 0; i < processes; i++)
cluster.fork()
var index = 0
var pi = 0
var results = 0
for (const id in cluster.workers) {
var worker = cluster.workers[id]
worker.on('message',(result) => {
pi += result
results += 1
if (results == processes) {
var tend = Date.now()/1000
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)
console.log('estimated MFlops: '+mflops.toFixed(1))
process.exit()
}
})
function send(index) {
return function() {
worker.send(index)
}
}
worker.on('online',send(index))
index += 1
}
}
function child() {
process.on('message',(index) => {
var a = 0.5
var b = 0.75
var c = 0.25
var sum = 0
var start = 1+points*index
var end = points*(index+1)
for (var i = start; i <= end; ++i)
sum += a/((i-b)*(i-c))
process.send(sum)
})
}
...@@ -9,6 +9,7 @@ ...@@ -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| |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.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.472|[pi.html](https://pub.pages.cba.mit.edu/pi/JavaScript/pi.html)|JavaScript, 1 worker|Intel 2x E5-2680|Nov 19, 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.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| |0.470|[numpi.py](Python/numpi.py)|Python, NumPy|Intel i7-8700T|Nov 17, 2018|
|0.029|[pi.py](Python/pi.py)|Python|Intel i7-8700T|Nov 17, 2018| |0.029|[pi.py](Python/pi.py)|Python|Intel i7-8700T|Nov 17, 2018|
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment