Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 由于对象较弱,节点v8未优化_Javascript_Node.js_V8 - Fatal编程技术网

Javascript 由于对象较弱,节点v8未优化

Javascript 由于对象较弱,节点v8未优化,javascript,node.js,v8,Javascript,Node.js,V8,我想做一个小路由器。它设法达到每秒70k的请求,但大约一分钟后,它下降到50k。然后,我运行了相同的程序,但使用了--trace deopt标志,并发现由于对象较弱,该程序正在去优化 [marking dependent code 0x004bda6d5a81 (opt #114) for deoptimization, reason: weak objects] [marking dependent code 0x004bda6c2001 (opt #95) for deoptimizatio

我想做一个小路由器。它设法达到每秒70k的请求,但大约一分钟后,它下降到50k。然后,我运行了相同的程序,但使用了
--trace deopt
标志,并发现由于对象较弱,该程序正在去优化

[marking dependent code 0x004bda6d5a81 (opt #114) for deoptimization, reason: weak objects]
[marking dependent code 0x004bda6c2001 (opt #95) for deoptimization, reason: weak objects]
[marking dependent code 0x004bda5e3001 (opt #50) for deoptimization, reason: weak objects]
[marking dependent code 0x004bda5dcac1 (opt #40) for deoptimization, reason: weak objects]
...
我不知道为什么,如果有人帮助我,我会很高兴:)

这是程序的代码

var http=require(“http”);
变量映射={
获取:{
“/test”:[],
},
};
map.GET[“/test”].push((请求,res)=>{
res.end(“某条路线”);
});
函数句柄(req、res){
var handlers=map[req.method][req.url];
var指针=0;
req.next=函数(){
处理程序[++指针](请求,res);
};
处理器[指针](req,res);
}
var app=http.createServer(句柄);
app.listen(8080);
编辑:

我用更少的代码做了同样的实验,仍然得到了同样的结果

var http=require(“http”);
函数句柄(req、res){
开关(请求url){
案例“/你好”:{
res.end(“世界”);
打破
}
}
}
var app=http.createServer(句柄);
app.listen(8080);
所以,我想,这个弱小的物体不在我的控制范围之内。我仍然有兴趣知道是否有办法解决它。因为我知道一些路由框架不受它的影响


谢谢你

我想至少解释的第一步是:我真的不明白。但是有没有一个明显的解决方案来解决这个问题呢?添加
--trace opt
标志,你就可以看到什么被取消了。。顺便说一句,它不是一个错误,修复是不看;简单地去掉flagFYI,一个可能的理论是,你的减速也可能是稳态垃圾收集完成的结果。最初,当服务器繁忙时,它不太运行GC,然后随着内存使用量的增加,它可能决定需要更频繁地运行GC,因此您会看到一些减速。@jfriend00:您第一条评论中的链接中描述的问题应该在2018年得到修复,因此除非stryz_uu使用的是非常旧的节点版本,这里肯定还有别的事情发生(不过我不知道那可能是什么)。