首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LuaJIT与GCC:岩心数

LuaJIT与GCC:岩心数
EN

Stack Overflow用户
提问于 2021-12-08 22:25:09
回答 1查看 118关注 0票数 0

背景:我读了几篇关于LuaJIT和C语言之间性能基准测试的文章。有不同的结论,所以我试着比较LuaJIT和C在我自己的用例中的速度。

我测试的函数使用了大量的数值和几个数学公式。这是我正在制作的CAD模块中的一个计算密集型部分。只是循环和公式。

我发现(在我的测试中) LuaJIT确实可以超过GCC ( 10 %到15%)。(我为gcc使用了FFI-数组和-o3优化)

有点伤感..。我喜欢这样的想法:对于真正快速的程序来说,旧的C语言仍然是最好的。令人欣慰的是,LuaJIT在FFI:-)中使用了C风格的数组。)

但这也很神奇..。多年来,动态脚本语言总是比C慢得多,这是多年来的“常识”。令人惊讶的是,这种惊人的LuaJIT速度不是由一家大公司的力量建立的,而是由一个人的努力建立的。

核数:在这些基准测试期间,我查看了任务管理器中的性能选项卡。两个岩心在试验过程中表现出较高的活性,其余两个岩心仍处于低活性状态。LuaJIT和GCC (不管有没有优化)都是这样(我在Win7机器上做了测试)。

的问题是:真的是把工作分成两个核心吗?

有了LuaJIT,我可以想象一个进程正在为With编译部分工作,另一个进程用于实际计算。或者“垃圾收集”在一个单独的进程中运行?(我对垃圾收集一无所知)

但当C程序运行时我看到了同样的活动轮廓.另外,如果没有gcc优化,就有两个核心活动.(但程序运行速度慢了3倍。)

会不会是Windows将工作划分为两个核心?我不是在找专业的技术解释。我也不想尝试从LuaJIT或C获得更快的速度,这个程序已经足够快了。

我只是好奇是否真的有两个核心在工作。如果可能的话,我更喜欢外行人的回答。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-08 23:49:51

令人惊讶的是,这个惊人的LuaJIT速度不是由一个大公司的力量建立的,而是由一个人的努力建立的。

“优秀的程序员以及在哪里找到他们”:-)

会不会是将工作划分成两个核心呢?

是的,Windows交换内核以减少CPU内部的温差:一个任务在两个核之间平均共享,一次只有一个核处于活动状态。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70282457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档