Scala与C进行分布式图形处理
对于最短路径计算等图形的并行处理,Scala会胜过C吗?如果没有,它会慢多少(我假设Scala并发比C更容易编写,因为C没有标准的支持这样的事情)
我正在考虑学习Scala,既要学习一门新语言,也要学习并发支持.一旦我完成了,我正在考虑编写一个分布式图形库来练习Scala,并且供我自己使用,但是如果C会更快并且更容易编写代码的好处不值得权衡,当性能是关注,我将不得不重新考虑这个任务. 解决方法
由于以下原因,我建议Scala over C:
>并发 – 正如你所说,JVM上有很好的并发支持,而Scala是一种很好的语言,可以从中受益.这并不是说您不能在C中编写并发代码,但您会发现它在Scala中更容易“开箱即用”. 当然,可以在C中编写性能极高的代码.在某些情况下,手动调整的C/C++代码可以胜过JIT(例如,当您可以证明不需要它们时,避免需要数组边界检查或空指针检查).或者你可以编写自己的内存分配器,专门用于图形处理,理论上可能胜过JVM中的通用垃圾收集器(如果你想试试这个,你最好是一个真正的天才……) 总的来说,用C语言编写所有内容会复杂得多,理论上可以实现的边际性能提升几乎肯定不值得付出努力. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |