Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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
对于Objective-C的桥接器,LuaJIT和JavaScriptCore的性能比较如何?_Javascript_Objective C_Performance Testing_Scripting Bridge_Luajit - Fatal编程技术网

对于Objective-C的桥接器,LuaJIT和JavaScriptCore的性能比较如何?

对于Objective-C的桥接器,LuaJIT和JavaScriptCore的性能比较如何?,javascript,objective-c,performance-testing,scripting-bridge,luajit,Javascript,Objective C,Performance Testing,Scripting Bridge,Luajit,我正在为Objective-C LuaJIT桥编写一些单元测试,其目的是比较LuaJIT与JavaScriptCore的性能,并在JS在某些特定任务上的执行时间比LuaJIT好时使测试失败 什么任务? 计算和的for循环 [][] 将字典和数组传递给虚拟机,克隆对象,并将新对象返回给ObjC […] 深度复制包含数组、字典和值的字典 [][] 嗯。。说真的,为什么? 我只想切换回开发游戏,并在每个新版本中不断更新LuaJIT,这样当测试失败时,我可以回滚到以前的版本,或者做任何需要的事情,以

我正在为Objective-C LuaJIT桥编写一些单元测试,其目的是比较LuaJIT与JavaScriptCore的性能,并在JS在某些特定任务上的执行时间比LuaJIT好时使测试失败

什么任务?

  • 计算和的for循环

    [][]

  • 将字典和数组传递给虚拟机,克隆对象,并将新对象返回给ObjC

    […]

  • 深度复制包含数组、字典和值的字典

    [][]

嗯。。说真的,为什么?

我只想切换回开发游戏,并在每个新版本中不断更新LuaJIT,这样当测试失败时,我可以回滚到以前的版本,或者做任何需要的事情,以便在VM中运行最快的Lua实现

好的……问题是什么?

有时候是LuaJIT最快,有时候是JS。出现这种不稳定行为的唯一原因是垃圾收集器弄乱了执行时间

是否有办法强制垃圾收集器在两个引擎的每次迭代中都执行它的任务?

另一种方法是对N个交互进行采样,并找到执行时间的两种方法,一种是脚本在“正常”模式下运行时的方法,另一种是激活GC时的执行时间,以相应地比较两个引擎的性能

听起来很麻烦

也许,我只是想要一个银弹来杀死速度较慢的脚本引擎,还有什么能将它们和OS X和iOS上的JavaScript本机实现相比较呢?“有并没有办法强迫垃圾收集器在两个引擎的每次迭代中都做它该做的事?”是的,你们可以关闭它。