Tag: v8

find未被V8优化的相应JS源代码

我尝试优化node.js应用程序的性能,因此我正在分析V8的JIT编译器的行为。 当通过node –trace_deopt –trace_opt –code_comments –print_optcode …运行应用程序时,输出包含许多重复的行,如下所示: [didn't find optimized code in optimized code map for 0x490a8b4aa69 <SharedFunctionInfo>] 我怎样才能找出哪个JavaScript代码对应于0x490a8b4aa69 ? 完整的输出在这里可用。

基准testingnode.js

我想在使用node.js方面做不同的电路板和架构(arm / ia32)之间的比较。 任何人都可以指向我一个相关的基准testing,使用node.js,如果有的话? 我不是在寻找一般的JavaScript基准testing,而是与node.js相关和具体的东西。 谢谢。

embedded式节点/ JavaScript的沙箱?

我正在编写一个Node应用程序,允许用户执行任意的JavaScript代码 – 一种超越常规用户界面的“内部API”/业务stream程。 我正在寻找一个沙箱环​​境,提供以下内容: 单独执行而不产生一个全新的线程 – 这将由成千上万的用户运行,我宁愿坚持匿名函数,无法访问父调用堆栈…或…在线程的事件.. 。跨多个服务器产卵的能力。 语法检查抛出parsing/执行错误exception与崩溃整个应用程序。 禁用函数/ var访问的function。 我试图阻止访问节点的I / O …所以用户不能把它变成一个DoS脚本或读取/ etc / passwd,但可以运行任何本地语法和预先批准的function列表。 超时控制…所以执行上限可以适用于while(true) do_intensive_stuff(); 等等 任何明显的select都在想

如何将对象传递给V8中的JavaScriptcallback

我正在做一个Node模块,并试图传递一个将ObjectWrap作为参数的子类的实例传递给JavaScriptcallback。 在其他地方,我已经能够成功地展开JavaScript对象到同一个类,使用: GitCommit *commit = ObjectWrap::Unwrap<GitCommit>(args[0]->ToObject()); 我该怎么做呢? 我想将一个GitCommit实例GitCommit给一个JavaScriptcallback,如: Local<Value> argv[] = { // Error code Local<Value>::New(Integer::New(0)), // The commit commit // Instance of GitCommit : ObjectWrap }; // Both error code and the commit are passed, JS equiv: callback(error, commit) ar->callback->Call(Context::GetCurrent()->Global(), 1, argv); 这可能吗? 如果有的话,请给我一个例子,或链接到相关文件?

NodeJS .forEach未定义

我在[].forEach中使用了[].forEach 。 (使用NodeJs v5.4.1) 让这个代码在一个函数中 function _buildUserQuestionsForDisplay(question,callback){ var res = {} ["is_open","created","deleted","_id"].forEach(function(v){ res[v] = question[v] }) … … } 抛出一个错误: [ “IS_OPEN”, “创build”, “删除”, “_ ID”]。的forEach(函数(V){ TypeError:无法读取属性'forEach'的undefined 它工作,如果我改变代码 var arr = ["is_open","created","deleted","_id"]; arr.forEach(function(v){ res[v] = question[v] }) 我已经在Chrome.console上testing了相同的function,第一种方法Chrome.console 。 我知道这两个使用V8 JS引擎,这是一个错误,或者我失踪的Javascript规则? 谢谢!

nodejs分析; 什么是'未知'

在分析nodejs程序时,我发现61%的tick是由“Unknown”引起的(见下文)。 这可能是什么? 我该找什么? GR, 科恩 Statistical profiling result from node, (14907 ticks, 9132 unaccounted, 0 excluded). [Unknown]: ticks total nonlib name 9132 61.3% [Shared libraries]: ticks total nonlib name 1067 7.2% 0.0% C:\Windows\SYSTEM32\ntdll.dll 55 0.4% 0.0% C:\Windows\system32\kernel32.dll [JavaScript]: ticks total nonlib name 1381 9.3% 10.0% LazyCompile: *RowDataPacket.parse D:\MI\packet.js:9 ……

从node-webkit访问USB设备?

我正在构build一个需要在所有3个主要桌面环境(windows,mac和linux)上运行的node-webkit应用程序,我需要我的应用程序连接到一个插入的USB设备,而且我正在处理一些问题如何去做这件事。 是否有一个npm可以在所有操作系统上运行? 我可以得到一个build立在C + +的工作吗? 有没有什么内置的node-webkit与设备交互(设备API?) 提前致谢。

Node.JS – 设置max-old-space-size的副作用太大?

我们的服务器在云PaaS(特别是Bluemix)上运行Node.JS。 我们可以通过PaaS控制面板configuration分配的内存量,但我注意到,对于大于1.4GB的值,您还需要使用–max-old-space-size选项执行节点( 此处解释)。 这意味着,只要我想改变分配的内存大小,我必须在设置中的两个地方进行更改。 如果我调用node –max-old-space-size 99999999999 app.js会发生什么情况? Node.JS会尝试分配99999999999MB,还是会考虑运行VM \ Container的实际内存限制? 它是否会影响GC的行为(即,如果看起来有很多可用空间,则GC将运行较less的次数)? 是否有–max-old-space-size use-machine-limits选项? 谢谢

优化/function运行时,v8状态码会发生什么变化?

我看到了一个关于v8优化的问题,这让我在v8优化中玩了一下。 我也看到蓝鸟发布有关v8 优化杀手 。 根据v8回购,优化状态代码是2:1,2,4,8等乘法(请参阅OptimizationStatus枚举) 但是,下面的代码给了我奇怪的状态代码,如17和65,只在这些特定的情况下(见最后几行代码)。 任何想法为什么发生这种情况? function adder(a, b) { return new Function('a', 'b', 'return b%2 ? a + b : b%3 ? a – b : b%5 ? b / a : a * b')(a, b); } function addereval(a, b) { return eval('b%2 ? a + b : b%3 ? a – b […]

JavaScript中是否包含40位整数?

我正在使用服务器端计算,需要生成(与*和+操作)并比较40位整数。 我知道在这一点上,V8引擎将数字存储为Double而不是int 。 我能依靠这些数字来生成和比较吗? 我的直觉说是的 – 双打不应该有这个问题 – 但我不知道如何检查或在哪里find这方面的信息。