clojure语言 (Clojure语言挑战Scala语言-我们不怕内存溢出-北京网站制作)

文章编号:5867 更新时间:2024-02-01 分类:互联网资讯 阅读次数:

资讯内容

我在这里与大家分享一些从世界单打系统中获得的经验……

我们早在2009年11月就开始使用Scala语言,我们有一个操作需要运行很长时间,从会员信息数据库中获取大量的数据变化信息,并以如下形式发送给自定义搜索引擎一个XML包文件。将数据库中的大量数据表映射到XML规则文件是一个比较复杂的操作。过去,公司尝试过各种方法,有些有效,有些无效。我向公司推荐Scala语言,因为它高效、并行、类型安全、方便(特别是XML在Scala语言中有对应的基本数据类型)。

将近两年来,我们一直在使用Scala编程作为产品发布的后端。大多数时候,它运行得很好,但是当压力很大时,它就会溢出内存。经过大量的观察和测试,我们慢慢确认(至少部分原因)是Scala语言本身的实现。这个问题。Scala正准备合并Akka库,我们一直在考虑将程序迁移到Akka.

自从我们今年开始使用Clojure语言(我们大约在去年5月份开始尝试),我们认为我们应该集中精力开发一个Clojure版本的Scala程序,看看它运行得如何。

Clojure版本的后台发布程序,我们花了大约15个小时开发,并通过了所有测试。今天我们进行了一次疲劳测试,让它一次处理近30万会员的信息。如果是Scala程序,当一次处理的数据量达到50000份(有时更少)时,就会报内存溢出错误。但是Clojure程序是一口气完成的,非常顺利——所以,我们决定在下一个产品发布中用它来替代Scala程序。

另一个有趣的方面是该程序的Scala版本大约有1,000行长(大约31,000个字符)。Clojure版本只有260行(大约11,500个字符)。甚至注释也更容易(*呃*-不是我想吹牛,只是说比较是公正的)。我们的比较没有考虑单元测试代码,因为Clojure版本是仓促写的。Clojure的代码形式和Scala代码很接近,很多功能都是一样的。——Clojure是更强大的Scala——。它重构了一些辅助功能,使其更加模块化和可维护性。(北京网出品)

结果,很明显我会在生产中使用Clojure版本的发行版,完全放弃Scala。

感谢RichHickey(Clojure语言的发明者)和Clojure/核心开发团队创造了如此适用的编程语言,帮助人们解决大问题——谢谢!

标签:北京网站制作高端网站建设

我们专注高端建站,小程序开发、软件系统定制开发、BUG修复、物联网开发、各类API接口对接开发等。十余年开发经验,每一个项目承诺做到满意为止,多一次对比,一定让您多一份收获! clojure语言Clojure语言挑战S

标签: 北京网站制作Clojure语言挑战Scala语言我们不怕内存溢出

本文地址: https://yihaiquanyi.com/article/5b98163220b84a29ba4f.html

上一篇:北京网站制作华人惠新臣加入PHP官方开发团...
下一篇:语言老化老语言更容易理解论编程语言的可读...

发表评论