Comment #1 on issue 2006 by [email protected]: Some JSON debugger
lookup requests are taking a very long time
http://code.google.com/p/v8/issues/detail?id=2006
Here's a reduced repro:
File project02.js:
var EventEmitter = require('events').EventEmitter
var exec = require('child_process').exec
exports.packages = function() {
var ee = new EventEmitter()
exec('npm ls', function(err, stdout, stderr) {
console.log("exports packages: err: "
+ err
+ ", stdout:"
+ stdout
+ ", stderr:"
+ stderr);
if (err) {
ee.emit('error', err);
return;
}
var lines = stdout.split('\n')
var packages = []
for (var i = 0; i < lines.length; i++) {
var packageName = lines[i].match(/^(├──|├─┬|└─┬|└──) (.+)$/)
if (packageName && packageName[2]) {
packages.push(packageName[2])
}
}
ee.emit('success', packages)
})
return ee;
}
//// END
File main.js:
#!/usr/bin/env node
console.log("About to load reduced project...")
var project = require('./project02');
var props = [];
for (var p in project) {
props.push(p);
}
console.log("props(project) : " + props.join(" "))
//END
Using a JSON-based Node debugger like Komodo 7.0.2 (7.0.1 shows
similar breakage, but we're updating the debugger for 7.0.2),
set breakpoints in main.js at lines 3 and 4. The debugger is
responding reasonably quickly at line 3, but times out at
line 4.
Output from some diagnostics I added to the Komodo debugger temporarily:
About to load reduced project...
Debugger diagnostics when stopped at line 3:
// Time to lookup ref 3: 41 msec
// Time to lookup ref 3: 41 msec
// Time to lookup ref 3: 41 msec
// Time to lookup ref 1: 42 msec
Time to build property string for this: 0 msec
Time to prepare context_get repsonse: 0.216 sec
// Time to lookup ref 3: 41 msec
// Time to lookup ref 3: 41 msec
// Time to lookup ref 3: 41 msec
// Time to lookup ref 1: 43 msec
Time to build property string for this: 0 msec
Time to prepare context_get response: 0.21 sec
Debugger diagnostics when stopped at line 4:
// Time to lookup ref 3: 41 msec
// Time to lookup ref 3: 41 msec
// Time to lookup ref 15: 30492 msec
{"name":"project","propertyType":1,"ref":15}
Time to build property string for project: 0 msec
// Time to lookup ref 1: 67 msec
Time to build property string for this: 0 msec
Time to prepare context_get response: 30.686 sec
webstorm goes haywire on the original project as well
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev