原文
用dub
立马降速几秒.因为要花费大量时间积极优化
,LDC
一般比DMD
要慢一些.对开发
构建,请考虑使用DMD
.
:此跟踪
时间花了9秒.DMD
构建项目需要7秒钟.Adam
在2.5
秒内构建了他的整个arsd
,而PC
速度更快,arsd
比项目大得多,这没有意义.
速度慢原因:
1,使用许多嵌套模板
.
2,太多CTFE
.
3,前端用大静态
数组
4,使用导入串
可能会减慢
编译器解析,因为编译器解析 imported file(s)
.
5,过大
函数体可能会触发O(n^2)
路径
在编译器中,这大大降低了速度.
6,大量mixins
,因为复制AST
,也会降速.
未实例化模板
的成本很低(唯一成本是解析
它们,这非常快):仅避开模板
不会节省很多时间.我怀疑Adam
的大量代码是在未实例化
模板中,所以直接比较
是不公平的.
你用了大量mixin
模板;