首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
V2EX
›
LoongRiver
›
全部回复第 1 页 / 共 1 页
回复总数
4
344 天前
回复了
LoongRiver
创建的主题
›
程序员
›
以练代学,用 Rust 实现 Lua 解释器
@
ViVi333
我的本意是为了学习 Rust ,而拿 Lua 解释器作为一个练手的项目。
不过你不会 Rust ,这也是有好处的。就是你可以只看文章里的文字说明部分,然后用自己的理解,用 C 语言自己实现一遍。如果我本来就是用 C 语言介绍的,那你可能就偷懒了,只是自己看一遍而不去自己实现,或者自己实现的时候不独立思考而是直接照搬我的代码。
自己实现一遍的收获 是远大于 只看一遍文章的。
不过 Lua 的官方实现是 C 语言,你也可以参考。网上也有很多源码阅读的文章,也有几本相关的实体书。
357 天前
回复了
LoongRiver
创建的主题
›
程序员
›
以练代学,用 Rust 实现 Lua 解释器
@
zuisong
欢迎多提意见 :)
357 天前
回复了
LoongRiver
创建的主题
›
程序员
›
以练代学,用 Rust 实现 Lua 解释器
@
wxf666
虽然主要是为了学习,但是也会考虑性能方面。追求性能的话,对 Rust 学的就更深入些。
1. Lua 的官方实现本身已经在性能方面很高效了,要想全面超过基本不可能的了。能尽力做到一致就很知足了。
2. 因为个人能力不足,所以直接使用了 Rust 的 Rc 来做垃圾回收。一般认为 RC 比狭义的 GC 要慢。具体讨论可以参见文章中的 [垃圾回收和 Rc](
https://wubingzheng.github.io/build-lua-in-rust/zh/ch03-05.gc_vs_rc.html
) 这节。
3. 但在某些方面,我的实现是比 Lua 的官方实现要更高效的。主要是对短字符串的处理。具体参见 [字符串定义](
https://wubingzheng.github.io/build-lua-in-rust/zh/ch03-01.string_type.html
) 这节。
4. 我做了一些简单的性能测试。很多情况下比官方实现慢 1 倍,但有的情况下,比如短字符串比官方实现快一些。不过我希望能在完成大部分功能后,再去做完整的性能测试和优化。所以目前做的性能测试就没贴出来。
358 天前
回复了
LoongRiver
创建的主题
›
程序员
›
以练代学,用 Rust 实现 Lua 解释器
@
llbbzh
赞同。所以我在写的时候,尽量多画图,然后是列表,再然后是文字,实在不行再贴代码。
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
2182 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 14ms ·
UTC 01:18
·
PVG 09:18
·
LAX 18:18
·
JFK 21:18
Developed with
CodeLauncher
♥ Do have faith in what you're doing.