标签: v8

在V8中,调用堆栈的最大值是多少?

只是好奇而已。如果您也告诉我在哪里可以找到答案,那就太好了。

javascript v8

2
推荐指数
1
解决办法
1562
查看次数

Node.js 堆栈跟踪不包含用户代码

在调试 Node.js 代码时,我经常遇到调用堆栈,其中不包含我的程序代码,仅包含 node_modules/非用户代码,尽管当前执行行位于我的代码中的某个位置。这违背了跟踪调用堆栈以查看应用程序代码的执行路径的目的。

为什么我的源文件没有显示在调用堆栈中?

完整的堆栈跟踪

javascript debugging v8 node.js

2
推荐指数
1
解决办法
92
查看次数

2
推荐指数
1
解决办法
2618
查看次数

我应该预先分配一个数组还是随着我的使用而增长

在过去的几个月里,我一直在努力更好地理解 javascript。这确实让我想获得计算机科学学位。无论如何,我不幸地遇到了与 JavaScript 相关的两个相关但相互冲突的点。

根据这篇文章,人们不应该预填充数组,而应该在需要时增长它。

这听起来很棒,直到我在维基百科上看到另一篇文章,其中指出执行上述操作会很慢。

我正在考虑从头开始组装一些游戏,并且作为一名代码素食主义者,计划将性能放在我努力的首位。那么,是拥有一个可增长的数组更好,还是拥有一个预先分配的数组更好呢?在 HTML5 游戏开发中,建议使用诸如对象池之类的东西,我倾向于使用数组来创建对象池。

javascript arrays performance v8

2
推荐指数
1
解决办法
1854
查看次数

控制台日志会增加nodejs服务器上的内存吗?

对于每个 API 请求,我在NodeJs服务器上有一些重要的字符串和对象的控制台日志。

我们已经将这些日志的副本移动到日志文件中。

这些对象的控制台日志是否会增加保留在控制台中的每个请求的内存使用量,例如,如果我们有 100 万个请求。

例如

console.log('some data here', new Date())
Run Code Online (Sandbox Code Playgroud)

v8 node.js

2
推荐指数
1
解决办法
8627
查看次数

JavaScript 垃圾收集器何时以及如何工作

我也喜欢读几篇文章,这对MDN这一次我得到的GC是如何发生的JavaScript中的想法

我还是不明白像

a) 垃圾收集器什么时候开始(在一段时间后或必须满足某些条件后被调用)?

b) 谁负责垃圾收集(它是 JavaScript 引擎或浏览器/节点的一部分)?

c) 在主线程或单独线程上运行?

d) 以下哪一项具有更高的峰值内存使用量?

// first-case
// variables will be unreachable after each cycle

(function() {
  for (let i = 0; i < 10000; i++) {
    let name = 'this is name' + i;
    let index = i;
  }
})()
Run Code Online (Sandbox Code Playgroud)
// second-case
// creating variable once

(function() {
  let i, name, index;

  for (i = 0; i < 10000; i++) {
    name = 'this is name' + i; …
Run Code Online (Sandbox Code Playgroud)

javascript garbage-collection v8 spidermonkey

2
推荐指数
1
解决办法
573
查看次数

V8 中 JIT 编译的混淆

我在研究 V8 的内部工作原理时遇到了术语 JIT 编译器。最初,我在这篇文章https://www.quora.com/How-does-the-JIT-compiler-work-in-JS中读到V8 中的 JIT 编译器称为“Ignition”,即解释器。然后,我得出结论,JIT 编译器只是解释器。但后来我发现了另一篇文章https://blog.logrocket.com/how-javascript-works-optimizing-the-v8-compiler-for-efficiency/将 jit-compilation 描述为解释器和编译器的组合。伙计们,JIT 编译器真的是解释器和编译器的结合吗?或者 JIT 编译器只是解释器吗?

javascript v8

2
推荐指数
1
解决办法
1715
查看次数

如何从 Rhino 为 V8 重写此代码?

我曾经在 GAS 上写过脚本。因为我确实使用 GAS 通过聊天和 Google 电子表格管理出勤率。聊天工具是聊天工作。它适用于 Gas(Rhino)。但它不适用于 V8。

我试图将 line19 重写for each (var obj in json){for (var obj in json){

请告诉我什么是坏的...我应该重写哪个?

function recordTime(){
  /*Sheet setting*/
  var wsData = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("data"); //DataSheetSetting
  var wsStaff = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("coworkers"); //CoworkersMasterSetting
  /*ChatworkURLrequest*/
  var params = {
    headers : {"X-ChatWorkToken" : 'anynumber'},
    method : "get"
  };
  var roomID = anynumber; //ROOMID
  var url = "https://api.chatwork.com/v2/rooms/" + roomID + "/messages?force=0"; //GetMessageFromGroupchat
  try{
    var respons = UrlFetchApp.fetch(url, params); //GetResponseFromChatworkAPIendpoint
    var json = JSON.parse(respons.getContentText()); //Returnjson
    for …
Run Code Online (Sandbox Code Playgroud)

v8 rhino google-sheets google-apps-script

2
推荐指数
1
解决办法
291
查看次数

v8 Javascript 引擎如何对 Int32Array 值执行位运算

据我所知,V8 Javascript 引擎会进行双数转换(到 i32 并返回)来执行位运算。让我们考虑下一个例子:

const int32 = new Int32Array(2);
int32[0] = 42;
int32[1] = 2;
const y = int32[0] | int32[1];
Run Code Online (Sandbox Code Playgroud)

在这种情况下,V8 会进行双重转换吗?如果不是,是否意味着 Int32Array 值上的位运算更快?

更新:通过双重转换,我的意思是:从 64 位(53 位精度)到 -> 32 位,然后再次到 -> 64 位

javascript performance v8 bit-manipulation typedarray

2
推荐指数
1
解决办法
541
查看次数

Object.entries() 时间复杂度

有谁知道Object.entries()Javascript的复杂性?基于这个问题,我猜想O(n)如果它是通过获取键和值作为数组然后将它们压缩在一起来实现的?

javascript arrays v8 time-complexity

2
推荐指数
1
解决办法
322
查看次数