d12月会议反馈
原文
也许应该内置该(自动修复更新的破坏)特性到DUB中,它已可检测编译器和它的版本,所以它已可干所有的粗活了.
我最终编写了自己的运行时和std,因此我提倡语言增强而不是在std中加入更多模板汤.
我更同意语言服务器,Jan在serve-d上做了惊人的工作,但它有两个问题:
1,编译速度慢,使得贡献很痛苦
2,DCD太基础了,甚至不支持包括模板在内的大多数D功能.
SumType是个很好的库,应该提升它为语言特性.
json不是好的文件格式,甚至不支持评论,而且解析起来很烦人.
简单的ini文件已好了10倍,不需要像YAML或TML这样复杂的解析器.
std.parallel.parallel绝对棒极了,"免费"的即时加速.
Wasm是个垃圾目标.
建议用较小的工作单元大小.
auto tp = new TaskPool(totalCPUs / 2);
// 线程数
foreach (e; tp.parallel(elements, 1)) {
// 工作单元大小
// ...
}
tp.finish(); // 记住
是的,Hipreme引擎已完全移植到WASM.文件加载,抽象渲染,音频播放,图像/音频解码,输入系统,我已几乎使所有的工作了.WASM只改变了引擎如何内部加载文件.如,事情完成时,它发送D闭包让JS执行,所以,不必用同步API来加载文件.
我已在学习论坛中发表,如何整合自定义运行时与dub,这是我用来构建引擎的方法.
支持功能有:
新(new),串开关,(包括继承和抽象)类,接口,每数组操作,每关联数组操作,RAII,闭包和函数指针,断定,抛行抓不行,RTTI(typeid等),所有编译时特性都运行良好,main(),解码UTF串
不支持的:static this/~this,try/catch,纤程
也即,如果不用Hipreme引擎,而是使用了很多标准库,那么他需要实现很多标准库.Hipreme引擎实现了可用的最小的标准库(因为我没有实现整个libc).不用说,phobos的一些模块不需要适应WASM,所以,上游可使用"std.algorithm"和"std.traits".
只需要复制std.math.
也在使用漏洞少的arsd.ttf来创建文本纹理.所以,这主要是付出点努力的问题,一切都可完成.
浙公网安备 33010602011771号