DMD 1.074和2.059发布
hqs7636
2012-04-13
另一个一大堆bug修正。 比以往任何时候都更多的贡献者!
http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.074.zip http://www.digitalmars.com/d/2.0/changelog.html https://github.com/downloads/D-Programming-Language/dmd/dmd.2.059.zip 请注意,dlang.org上的变更记录还没有被更新。 希望能拿到 很快完成。 http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D.announce&article_id=23174 |
|
zsxxsz
2012-04-14
现在对D语言的版本升级已经麻木了,虽然每天都还在关注D,呵呵
|
|
yntcsb
2012-04-15
D语言好像没有什么无可替代的优势,开发这么多年,就没有真正的成熟过。 |
|
lifc
2012-04-16
d语言(作者)的处世哲学是“希望在明天”,这一点很对我这类技术粉丝的胃口。只是后来go的出现带来了新希望,同时原生支持并发,加上大公司背后支持,留给d的想像空间已经越来越小了。好在d的风格和c++接近,所以一段时间内还能有一群坚定支持者。
|
|
hqs7636
2012-04-16
这一版多了统一函数调用特性,是很多人争吵期待了很久的,不知c++有什么区别?
语言部分应该是差不多了,倒是库正在酝酿大修,bug都没怎么修,精确gc还在讨论,还没成型 |
|
lifc
2012-04-16
hqs7636 写道 这一版多了统一函数调用特性,是很多人争吵期待了很久的,不知c++有什么区别?
语言部分应该是差不多了,倒是库正在酝酿大修,bug都没怎么修,精确gc还在讨论,还没成型 对精确gc非常期待,最近被保守gc折腾的不轻,不过感觉应该是个大动作。 之前用go做了个一万多行代码的小项目,因为接入的客户端有点多(每服务器十万级tcp长连接,客户端是嵌入式小设备),消息频率比较高(每个设备每秒10条左右请求,每个请求几字节),服务端运行1~2天一定OOM。 后来改成集群架构,一个群组3~5台工作节点,还是会出现同样问题,只是周期变长了。 再把接入服务独立,汇总后通过一个tcp连接传送给后台。发现内存溢出出现在最简单的接入服务,证明逻辑处理节点实现没有问题。 跟踪go的消息管道和goroutine调度流程,确定泄漏来自ringbuffer模块。这个模块一次性分配1.5G内存,每个tcp连接收到数据直接送入ringbuffer,来自不同连接的数据块交叉存放,通过单向链表记录每个连接的数据串,避免为每个连接分配独立内存。 算法本身没问题,之前用c++一切正常。偶然发现去掉消息加密可以解决内存泄漏,因为加密之后的数据随机分布,以至于看起来像指针,导致了go的保守gc误判断! 去go groups闲逛,偶然发现这个帖子,和我们遇到的问题一样,都是保守gc惹的祸:http://groups.google.com/group/golang-nuts/browse_thread/thread/ab1971bb9459025d/745df87ac82d3690 |
|
qiezi
2012-04-17
想念引用计数啊,足够精确,性能影响小。在编译器上优化,能够减少很多引用计数开销,OC就干得很好
|
|
老Colorful
2012-04-17
qiezi 写道 想念引用计数啊,足够精确,性能影响小。在编译器上优化,能够减少很多引用计数开销,OC就干得很好
WinRT 回归经典 COM。这下引用计数来了,呵呵。 |
|
lifc
2012-04-17
qiezi 写道 想念引用计数啊,足够精确,性能影响小。在编译器上优化,能够减少很多引用计数开销,OC就干得很好
确实,引用计数优化不好时开销会很大,超过GC也很常见,一些C++框架(库)问题就比较突出。之前用OpenSceneGraph,发现某些架构(硬件/编译器对原子操作/cache管理支持不好)场景渲染25%左右时间浪费在模型节点引用计数维护上,主要来自互斥锁操作和cache作废。 |
|
ww21xx
2012-04-18
一直关注D
|