草庐IT

v8-profiler

全部标签

javascript - v8 代理引用错误

我正在尝试在v8(版本4.6.85.31)中使用ES6代理,但我收到了ReferenceError:Proxyisnotdefined(我正在使用来自golang的v8)我还在node.js5.1.0中使用--harmony-proxies标志尝试了相同的操作,它支持代理(相同的v8版本)但是如何在v8中直接使用代理?我需要用一些标志来编译它吗?谢谢! 最佳答案 遇到同样问题的可以用std::stringflags("--harmony_proxies");V8::SetFlagsFromString(flags.c_str(),f

javascript - 无法读取 meteor.JS 函数中未定义的属性 'profile'?

我有以下代码:Template.analyze.userFullName=function(){varu=Meteor.users.findOne({_id:this.userId},{fields:{name:1}});returnu.profile.name;};Meteor.users.findOne({_id:this.userId},{fields:{name:1}})在控制台中使用时返回以下内容:Object_id:"79ef0e67-6611-4747-b669-45cc163cc1d8"profile:Objectname:"MyName"但是当我在上面的代码中使用它时

javascript - Meteor.user().profile 返回 'profile' undefined

我有一个名为“isActive”的助手和一个名为“create”的模板..见下文Template.create.isActive=function(){returnMeteor.user().profile.isActive;};当我尝试运行此代码时,它会在控制台中返回以下内容:“模板助手中的异常:TypeError:无法读取未定义的属性‘profile’”。基本上我想从当前用户配置文件中提取“isActive”信息并将其返回到模板。知道为什么这不起作用吗?更新//startuponserverside:Meteor.publish("userData",function(){if(t

javascript - V8 引擎将 JavaScript 编译为机器代码。那么,为什么 node.js 不比 C 快?

根据languagebenchmarks,JavaScriptV8在regex-dna程序上比其他编程语言更快。那么,为什么node.js应用程序(即http服务器)不比C应用程序(即Nginx、Lighttpd)快? 最佳答案 因为V8应用程序是javascript应用程序。即使javascript最终被编译为机器代码,运行时特性也不同。例如,如果您在一个对象中调用一个函数,而该对象没有定义该函数,则运行时必须通过遍历原型(prototype)层次结构来定位该函数,该层次结构可以在程序的生命周期中随时更改。可以进行巧妙的优化,但开

WS-I Reliable Secure Profile 的 Javascript 实现

我正在使用.NET4serversideimplementation的ReliableSecureProfile用于HTTP/S推送,想知道是否有可用的JavaScript客户端。 最佳答案 没有。有severalgenericSOAPlibraries与网络服务对话,但不是专门针对WS-I或RSP定义的网络服务。不过,它可能会成为一个很好的开源项目。如果您启动它,请在此处添加信息,其他人可能会喜欢它:) 关于WS-IReliableSecureProfile的Javascript实现,

javascript - 如何 "Lock down"V8?

我是V8的新手,并计划在PythonWeb应用程序中使用它。目的是让用户提交并执行某些JS脚本。显然这是一种安全威胁,所以我正在寻找记录人们可能“锁定”v8的方式的资源。例如,我可以创建一个允许调用的函数白名单吗?或者不允许引用的库黑名单? 最佳答案 如果你使用普通的V8(即不是像node.js这样的东西),就不会有任何危险的功能。JavaScript本身没有包含文件系统函数等的标准库。恶意用户唯一能做的就是创建无限循环、深度递归和内存消耗。 关于javascript-如何"Lockdo

javascript - Node : How to free buffers that get allocated outside of the V8 memory heap

我有一个应用程序,我按顺序从服务器下载mp3文件,将它们临时存储在我的服务器中,然后将它们直接流式传输到客户端,如下所示:functiondownloadNextTrack(){varrequest=http.get('http://mp3server.com',function(response){response.on('data',function(data){fs.appendFile('sometrack.mp3',data,function(err){});});response.on('end',function(){streamTrack('sometrack.mp3'

javascript - node.js v8 垃圾回收似乎没有触发

我很困惑,因为我的应用程序正在泄漏内存。它是一个每分钟处理数十万个数据包的tcp服务器。我检查了代码,对其进行了改进并分析了内存。一切似乎都很好,在低流量的本地测试实际上表明gc正确释放了内存。但是当在实时流量大的服务器上时,它不会。所以我尝试使用expose-gc选项并在每次断开连接时添加强制gc,现在我发现内存不再泄漏或者是否每次都泄漏?所以,我的结论是gc没有激活。我的服务器有3GB的内存,应用程序在短短几个小时内就吃掉了其中的2.8GB。现在使用强制gc,应用程序不再泄漏。它维持着大约200MB的内存。那么,我的问题是,为什么gc没有被触发? 最佳答

javascript - V8 是否检测 int 变量并更有效地处理它们?

这是关于Node.JS的更多内容,它使用V8引擎。这是也用于GoogleChrome的JavaScript引擎。我听说V8非常快,不仅对于Node,对于浏览器也是如此。但是,我注意到关于JavaScript的一件事是,类型没有针对变量进行编码。要在Java中实现这一点,您需要一个Object变量类型来处理所有内容。这在例如for循环中的效率会大大降低:for(vari=0;i我的问题是,V8如何处理变量类型?它是否知道此i变量始终是int或long?(我认为这不太可能,因为i++能够将long转换为double。)或者V8是否以无关紧要的方式处理事情?我认为JIT编译器创建的一些简单示

javascript - 为什么在这种情况下 v8 会耗尽内存?

根据node.js文档,一个Node在32位版本上有512meg的限制,在64位版本上有1.4gig的限制。ChromeAFAICT的限制类似。(+/-25%)那么,为什么这段代码从不使用超过~424meg的内存却会耗尽内存?这是代码(代码是废话。这个问题不是关于代码在做什么,而是关于代码为什么失败)。varlookup='superCaliFragilisticExpialidosiousThispartdoesnotrealllymattersd';functionencode(num){returnlookup[num];}functionmakeString(uint8){va