lib: speed up require(), phase 2
authorBen Noordhuis <info@bnoordhuis.nl>
Tue, 26 May 2015 14:50:16 +0000 (16:50 +0200)
committerBen Noordhuis <info@bnoordhuis.nl>
Wed, 27 May 2015 19:21:24 +0000 (21:21 +0200)
commit1bbf8d0720a061e281718f9e6a542da4268160b8
tree356d8c326fb5b7189e93b392de732ecb725123c5
parentb14fd1a7202cd8001d1f6aed848445bad99ee15c
lib: speed up require(), phase 2

Replace calls to fs.readFileSync() with an internal variant that does
not create Error objects on failure and is a bit speedier in general.

A secondary benefit is that it improves start-up times in the debugger
because it no longer emits thousands of exception debug events.

On a medium-sized application[0], this commit and its predecessor reduce
start-up times from about 1.5s to 0.5s and reduce the number of start-up
exceptions from ~6100 to 32, half of them internal to the application.

[0] https://github.com/strongloop/loopback-sample-app

PR-URL: https://github.com/nodejs/io.js/pull/1801
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
lib/module.js
src/node_file.cc