Stamon 文档站
回到首页
回到上一级
2024/08/21 工作日志
本次修复了项目的许多漏洞,正式发行了2.4.19。
修复了大量漏洞
随着Stamon Web端的发布,大量网友帮我找到了漏洞,感谢他们!
本次修复的漏洞有:
- String equals方法无法正常使用
- Lexer的String匹配算法无法对未封闭字符串进行报错
- 对错误的小数点无法正常分析
- SFN的语法分析语法报错信息有误
- 在GC后如果内存还是溢满则直接卡退
- 修复了Stamon标准库
- 解决了gc之后内存泄漏的问题
- stamon help指令无需检查环境变量
- 打开不存在的文件出现内存泄漏的问题
- 使用–isStrip=true选项会产生内存泄露
新增内存池
我们测试了2.4.8的性能,并生成了火焰图,发现内存申请和释放的性能开销很大。于是我在依赖库当中添加了MemoryPool类。
MemoryPool提供了内存池功能,加快运行速度的同时增加了内存浪费。如果用户不希望内存池过度浪费内存,可以指定--MemPoolCache=<Integer>
参数来指定内存池的缓存大小,当缓存大小为0时,则不使用内存池(详细请参见发行版使用指南.md
)
在使用内存池后,我们进行了一百万次的空循环测试和素数筛测试,运行时间普遍减小至85%。
接下来要做的事
- 支持文件处理库
- 支持编译为平面字节码
- 编写词法分析的保存功能
- 编写AST的O1优化器
- 完善标准库
- 编写AST的解释器
查看该文件的提交记录