Skip to content

Degraded performance of ia32 builds on x64 Windows and undocumented build parameter #11500

Closed
@vsemozhetbyt

Description

@vsemozhetbyt
  • Version: master / vee-eight-lkgr (8.0.0-pre)
  • Platform: Windows 7 x64
  • Subsystem: build, child_process

I've noticed a substantial difference between downloaded Node.js binaries and binaries built locally by myself.

For example, master and vee-eight-lkgr built today vs node.8.0.0-nightly20170221:

  1. Are ~3-4 MB less.
  2. Have degraded performance for child_process.exec() and child_process.execSync()

Test script and data:

'use strict';

console.log(`\n// v8 ${process.versions.v8} (Node.js ${process.versions.node})\n`);

const exec     = require('child_process').exec;
const execSync = require('child_process').execSync;

console.time('exec');
for (let i = 0; i < 1e2; i++) exec('echo');
console.timeEnd('exec');

console.time('execSync');
for (let i = 0; i < 1e2; i++) execSync('echo');
console.timeEnd('execSync');
// v8 4.5.103.45 (Node.js 4.8.0)

exec: 362ms
execSync: 717ms

// v8 5.1.281.93 (Node.js 6.10.0)

exec: 317.696ms
execSync: 720.335ms

// v8 5.5.372.40 (Node.js 7.6.0)

exec: 329.204ms
execSync: 780.849ms

// v8 5.5.372.40 (Node.js 8.0.0-nightly201702211162e284ca)

exec: 355.399ms
execSync: 754.043ms

// v8 5.5.372.40 (Node.js 8.0.0-pre)

exec: 1708.721ms
execSync: 2392.159ms

// v8 5.8.202 (Node.js 8.0.0-pre)

exec: 1693.617ms
execSync: 2367.062ms

The first 4 binaries are downloaded from the site, the last two are built locally from downloaded GitHub source zip according to BUILDING.md (with chcp 1252 before building to be on the safe side). All tests are OK.

What am I doing possibly wrong?

Metadata

Metadata

Assignees

No one assigned

    Labels

    docIssues and PRs related to the documentations.good first issueIssues that are suitable for first-time contributors.questionIssues that look for answers.windowsIssues and PRs related to the Windows platform.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions