主题:Lua 语言? -- GUNXU
前几天,还在担心 LuaJIT 的更新速度,今天浏览项目网站时却仅惊喜地发现 LuaJIT 又出了2.0.0beta6版本。新版本除了增加了对PowerPC e500v2 内核的支持外,最大的亮点就是增加了FFI函数库。利用这个函数库,LuaJIT可以在Lua程序内流畅的调用外部C/C++函数库的函数以及直接定义并利用C/C++数据结构。直接的好处是方便了扩展库的开发,使得Lua程序员可以更少的依赖C/C++语言环境。间接的好处是开发者在纯Lua环境里有更多的手段提高运行效率和内存使用效率。因为C/C++的数据结构是静态类型,这给JIT引擎足够信息以使其采用更好的优化策略,另外内存表示没有Lua额外的开销,数据更紧凑,占用空间更少,运行时缓存击中率更大,速度相应更快。
FFI+的优点清除了纯粹利用Lua作数值计算在原理上的障碍.因为在数值运算单元里我们可以直接作用在C/C++数据结构上.JIT可以帮助我们以C速度甚至以超C速度运行(因为JIT的动态优化).当然,在LuaJIT里的效果究竟如何还要看LuaJIT本身的实现,有时间会做个测试.
这个进步也去处了我的系统里@Accelerator{} (http://www.ccthere.com/article/3282394)的必要性和紧迫性,虽然我们的@Accelerator模式构想更高效,更安全,更容易维护(这是在更加限制支持的数据结构和数据操作方式的代价上的取舍)。
本帖一共被 1 帖 引用 (帖内工具实现)
- 相关回复 上下关系8
🙂Lua 语言? 5 GUNXU 字1329 2011-02-01 08:47:51
🙂数值运算的语言 --- Lua
🙂luajit+ffi 数值运算快过gcc o2 优化一倍 1 GUNXU 字1340 2011-02-26 08:59:36
🙂作为数值运算的语言 --- Lua, LuaJIT FF GUNXU 字0 2011-02-18 05:45:41
🙂文本及数值负载都很重? 金口玉言 字370 2011-02-09 19:55:28
🙂去除GIL比较困难 1 python 字738 2011-02-16 03:40:49
🙂python不错,Lua也很好 1 GUNXU 字977 2011-02-10 21:02:33
🙂请教什么是再入式编译器和非侵入性的扩展原语言? 金口玉言 字121 2011-02-11 06:42:11