MENU 服務(wù) 案例
網(wǎng)站建設(shè)-網(wǎng)站設(shè)計(jì)-北京網(wǎng)站建設(shè)-高端網(wǎng)站制作公司-尚品中國(guó)
我們通過(guò)擁抱變化創(chuàng)造
360°的品牌價(jià)值__
簡(jiǎn)體
簡(jiǎn)體中文 English

尚品與山東真諾智能設(shè)備有限公司簽署網(wǎng)站改版合作協(xié)議

類(lèi)型:尚品動(dòng)態(tài) 了解更多

[北京網(wǎng)站制作]Clojure語(yǔ)言叫板Scala語(yǔ)言 我們不怕內(nèi)存溢出

來(lái)源:尚品中國(guó)| 類(lèi)型:網(wǎng)站百科| 時(shí)間:2011-10-20

我在這里是想跟大家分享一些從World Singles 系統(tǒng)里獲得的經(jīng)驗(yàn) …

早在2009年11月,我們就開(kāi)始使用Scala語(yǔ)言了。我們有一個(gè)需要運(yùn)行很長(zhǎng)時(shí)間的操作,把大量的數(shù)據(jù)變更信息從會(huì)員信息數(shù)據(jù)庫(kù)中取出,以XML打包文件的形式發(fā)送到自定義搜索引擎里。把一大堆的數(shù)據(jù)表從數(shù)據(jù)庫(kù)中映射到XML規(guī)則文件里是一個(gè)相當(dāng)復(fù)雜的操作。在過(guò)去,公司嘗試了各種方法,有的好用,有的不好用。我向公司推薦使用Scala語(yǔ)言,原因是他的高效、并行性、類(lèi)型安全,以及方便適用(特別是XML在Scala語(yǔ)言里有一種相對(duì)應(yīng)的基本數(shù)據(jù)類(lèi)型)。

我們使用Scala編程作為產(chǎn)品的后臺(tái)發(fā)布程序已經(jīng)有差不多兩年了。大多時(shí)候,它運(yùn)行的非常好,但在壓力大的時(shí)候,它會(huì)出現(xiàn)內(nèi)存溢出的現(xiàn)象,經(jīng)過(guò)大量的觀察和測(cè)試,我們慢慢的確認(rèn),(至少部分原因)是Scala語(yǔ)言本身的實(shí)現(xiàn)導(dǎo)致了這個(gè)問(wèn)題。Scala正準(zhǔn)備要收編Akka程序庫(kù),我們一直在考慮把程序遷移到Akka上…

因?yàn)榻衲晡覀冮_(kāi)始使用Clojure語(yǔ)言(大概是去年5月我們就開(kāi)始嘗試這種語(yǔ)言),我們認(rèn)為應(yīng)該集中兵力開(kāi)發(fā)出一個(gè)Clojure版本的Scala程序,看看它運(yùn)行起來(lái)表現(xiàn)如何。

這個(gè)Clojure版的后臺(tái)發(fā)布程序的開(kāi)發(fā)耗費(fèi)了我們大概15個(gè)小時(shí),并通過(guò)了所有測(cè)試。今天我們進(jìn)行了一次“疲勞測(cè)試”,讓它一次處理將近30萬(wàn)個(gè)會(huì)員的信息。如果是Scala程序,當(dāng)一次處理的數(shù)據(jù)量達(dá)到5萬(wàn)份時(shí)(有時(shí)會(huì)更少),它就會(huì)報(bào)內(nèi)存溢出錯(cuò)誤。而Clojure程序卻一氣呵成,十分順利——于是,我們就決定在下一次產(chǎn)品發(fā)布里用它把Scala程序給替換下來(lái)了。

另外一個(gè)有趣的方面是,Scala版的程序長(zhǎng)度總共大約有1000行(大概有3.1萬(wàn)個(gè)字符)。而Clojure版的只有260行(大約1.15萬(wàn)個(gè)字符)。就連注釋也簡(jiǎn)單了(*呃哼*—這并不是我想炫耀的,只是想說(shuō)這種比較沒(méi)有偏向)。我們的比較還沒(méi)有把單元測(cè)試代碼計(jì)算入內(nèi),因?yàn)镃lojure版寫(xiě)的很倉(cāng)促。Clojure的代碼形式非常的接近Scala代碼,很多函數(shù)都相同——Clojure是一種更強(qiáng)大的Scala——它對(duì)一些輔助函數(shù)進(jìn)行的重構(gòu),使其變的更加模塊化和可維護(hù)。(北京網(wǎng)站制作)

結(jié)果是很顯然,我將在產(chǎn)品里采用Clojure版的發(fā)布程序,完全的放棄Scala。

這是Rich Hickey(Clojure語(yǔ)言的發(fā)明人) 和 Clojure/core 開(kāi)發(fā)團(tuán)隊(duì)的功勞,他們創(chuàng)造了這樣一種精彩適用的編程語(yǔ)言,幫人們解決了大問(wèn)題——謝謝你們!

標(biāo)簽:北京網(wǎng)站制作 高端網(wǎng)站建設(shè)

來(lái)源聲明:本文章系尚品中國(guó)編輯原創(chuàng)或采編整理,如需轉(zhuǎn)載請(qǐng)注明來(lái)自尚品中國(guó)。以上內(nèi)容部分(包含圖片、文字)來(lái)源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)及時(shí)與本站聯(lián)系(010-60259772)。
TAG標(biāo)簽:

如果您的網(wǎng)站可以增加轉(zhuǎn)化次數(shù)并提高客戶(hù)滿(mǎn)意度,該怎么辦?

預(yù)約專(zhuān)業(yè)咨詢(xún)顧問(wèn)溝通!

*尚品專(zhuān)業(yè)顧問(wèn)將盡快與您聯(lián)系

免責(zé)聲明

非常感謝您訪問(wèn)我們的網(wǎng)站。在您使用本網(wǎng)站之前,請(qǐng)您仔細(xì)閱讀本聲明的所有條款。

1、本站部分內(nèi)容來(lái)源自網(wǎng)絡(luò),涉及到的部分文章和圖片版權(quán)屬于原作者,本站轉(zhuǎn)載僅供大家學(xué)習(xí)和交流,切勿用于任何商業(yè)活動(dòng)。

2、本站不承擔(dān)用戶(hù)因使用這些資源對(duì)自己和他人造成任何形式的損失或傷害。

3、本聲明未涉及的問(wèn)題參見(jiàn)國(guó)家有關(guān)法律法規(guī),當(dāng)本聲明與國(guó)家法律法規(guī)沖突時(shí),以國(guó)家法律法規(guī)為準(zhǔn)。

4、如果侵害了您的合法權(quán)益,請(qǐng)您及時(shí)與我們,我們會(huì)在第一時(shí)間刪除相關(guān)內(nèi)容!

聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com

現(xiàn)在就與專(zhuān)業(yè)咨詢(xún)顧問(wèn)溝通!

  • 全國(guó)服務(wù)熱線

    400-700-4979

  • 北京服務(wù)熱線

    010-60259772

信息保護(hù)中請(qǐng)放心填寫(xiě)
在線咨詢(xún)

免責(zé)聲明

非常感謝您訪問(wèn)我們的網(wǎng)站。在您使用本網(wǎng)站之前,請(qǐng)您仔細(xì)閱讀本聲明的所有條款。

1、本站部分內(nèi)容來(lái)源自網(wǎng)絡(luò),涉及到的部分文章和圖片版權(quán)屬于原作者,本站轉(zhuǎn)載僅供大家學(xué)習(xí)和交流,切勿用于任何商業(yè)活動(dòng)。

2、本站不承擔(dān)用戶(hù)因使用這些資源對(duì)自己和他人造成任何形式的損失或傷害。

3、本聲明未涉及的問(wèn)題參見(jiàn)國(guó)家有關(guān)法律法規(guī),當(dāng)本聲明與國(guó)家法律法規(guī)沖突時(shí),以國(guó)家法律法規(guī)為準(zhǔn)。

4、如果侵害了您的合法權(quán)益,請(qǐng)您及時(shí)與我們,我們會(huì)在第一時(shí)間刪除相關(guān)內(nèi)容!

聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com