摘要:
出于个人爱好和某种需求,我再16年对python的解释器产生了浓厚兴趣,并且下定决心重新实现一个版本。我个人再游戏服务器开发中,对c++嵌入lua和python都有着丰富应用经验,自认为对二者的优劣有着深刻的理解。python针对lua的最大优势是python是完备的程序语言,类、模块包括丰富的库和方便好用的字符串操作,可以说python用来实现功能会优雅很多,而lua最大的优势就是小巧高效,另外lua的lua_state是可以有多个实例的,这样就可以多线程使用lua(一个线程单独一个lua_state),而python解释器因为有全局解释器锁,所以无法实现多python解释器实例。考虑到在嵌入python的应用场景中,所用到python的功能都是比较简单通用的功能,比如类、模块,函数,一些复杂的类库也不常用,所以我就想实现一个不使用全局解释器锁,可以有多个python解释器锁的解释器。所以16年底,我自己实现了一下python解释器第一版,第一版是使用AST虚拟语法树直接解析的,虽然做了必要的优化,但是性能。。。。仍然不忍直视。平常我一直吐槽python跑的没有lua快,但是吐槽是一 阅读全文
最新评论
- 1. Re:linux epoll 开发指南-【ffrpc源码解析】
好难啊 加油吧
- --anzijie
- 2. Re:linux epoll 开发指南-【ffrpc源码解析】
好文,讲的透彻。赞!!!
- --2100459712
- 3. Re:FFLIB之FFLUA——C++嵌入Lua&扩展Lua利器
我的邮箱wendell_yi@sina.com,谢谢奥😜
- --wendell666
- 4. Re:FFLIB之FFLUA——C++嵌入Lua&扩展Lua利器
你好哈,你的这篇文章中代码失效了,能发给我一份吗谢谢啦😜 文章标题:C++任务队列与多线程
- --wendell666
- 5. Re:FFLIB之FFLUA——C++嵌入Lua&扩展Lua利器
- @sky20080101 AddNewNode 的参数是不是有CNode类型,CNode的实现最好也发下...
- --知然