[北京網(wǎng)站制作]Clojure語言叫板Scala語言 我們不怕內(nèi)存溢出
我在這里是想跟大家分享一些從World Singles 系統(tǒng)里獲得的經(jīng)驗 …
早在2009年11月,我們就開始使用Scala語言了。我們有一個需要運行很長時間的操作,把大量的數(shù)據(jù)變更信息從會員信息數(shù)據(jù)庫中取出,以XML打包文件的形式發(fā)送到自定義搜索引擎里。把一大堆的數(shù)據(jù)表從數(shù)據(jù)庫中映射到XML規(guī)則文件里是一個相當復(fù)雜的操作。在過去,公司嘗試了各種方法,有的好用,有的不好用。我向公司推薦使用Scala語言,原因是他的高效、并行性、類型安全,以及方便適用(特別是XML在Scala語言里有一種相對應(yīng)的基本數(shù)據(jù)類型)。
我們使用Scala編程作為產(chǎn)品的后臺發(fā)布程序已經(jīng)有差不多兩年了。大多時候,它運行的非常好,但在壓力大的時候,它會出現(xiàn)內(nèi)存溢出的現(xiàn)象,經(jīng)過大量的觀察和測試,我們慢慢的確認,(至少部分原因)是Scala語言本身的實現(xiàn)導(dǎo)致了這個問題。Scala正準備要收編Akka程序庫,我們一直在考慮把程序遷移到Akka上…
因為今年我們開始使用Clojure語言(大概是去年5月我們就開始嘗試這種語言),我們認為應(yīng)該集中兵力開發(fā)出一個Clojure版本的Scala程序,看看它運行起來表現(xiàn)如何。
這個Clojure版的后臺發(fā)布程序的開發(fā)耗費了我們大概15個小時,并通過了所有測試。今天我們進行了一次“疲勞測試”,讓它一次處理將近30萬個會員的信息。如果是Scala程序,當一次處理的數(shù)據(jù)量達到5萬份時(有時會更少),它就會報內(nèi)存溢出錯誤。而Clojure程序卻一氣呵成,十分順利——于是,我們就決定在下一次產(chǎn)品發(fā)布里用它把Scala程序給替換下來了。
另外一個有趣的方面是,Scala版的程序長度總共大約有1000行(大概有3.1萬個字符)。而Clojure版的只有260行(大約1.15萬個字符)。就連注釋也簡單了(*呃哼*—這并不是我想炫耀的,只是想說這種比較沒有偏向)。我們的比較還沒有把單元測試代碼計算入內(nèi),因為Clojure版寫的很倉促。Clojure的代碼形式非常的接近Scala代碼,很多函數(shù)都相同——Clojure是一種更強大的Scala——它對一些輔助函數(shù)進行的重構(gòu),使其變的更加模塊化和可維護。(北京網(wǎng)站制作)
結(jié)果是很顯然,我將在產(chǎn)品里采用Clojure版的發(fā)布程序,完全的放棄Scala。
這是Rich Hickey(Clojure語言的發(fā)明人) 和 Clojure/core 開發(fā)團隊的功勞,他們創(chuàng)造了這樣一種精彩適用的編程語言,幫人們解決了大問題——謝謝你們!
標簽:北京網(wǎng)站制作 高端網(wǎng)站建設(shè)
建站流程
-
網(wǎng)站需求
-
網(wǎng)站策劃方案
-
頁面設(shè)計風格
-
確認交付使用
-
資料錄入優(yōu)化
-
程序設(shè)計開發(fā)
-
后續(xù)跟蹤服務(wù)
-
聯(lián)系電話
010-60259772
熱門標簽
- 網(wǎng)站建設(shè)
- 食品網(wǎng)站建設(shè)
- 微信小程序開發(fā)
- 小程序開發(fā)
- 無錫網(wǎng)站建設(shè)
- 研究所網(wǎng)站建設(shè)
- 沈陽網(wǎng)站建設(shè)
- 廊坊網(wǎng)站建設(shè)
- 鄭州網(wǎng)站建設(shè)
- 婚紗攝影網(wǎng)站建設(shè)
- 手機端網(wǎng)站建設(shè)
- 高校網(wǎng)站制作
- 天津網(wǎng)站建設(shè)
- 教育網(wǎng)站建設(shè)
- 品牌網(wǎng)站建設(shè)
- 政府網(wǎng)站建設(shè)
- 北京網(wǎng)站建設(shè)
- 網(wǎng)站設(shè)計
- 網(wǎng)站制作
最新文章
推薦新聞
更多行業(yè)-
SEO網(wǎng)站優(yōu)化之關(guān)于網(wǎng)站收錄的5點分析
SEO網(wǎng)站優(yōu)化之關(guān)于網(wǎng)站收錄的5點分析很多站長常常為網(wǎng)站不收錄或收錄不...
2011-12-29 -
SEO優(yōu)化技巧之有效的優(yōu)化網(wǎng)頁中的圖片
圖片的SEO網(wǎng)站優(yōu)化(www.londe303.com)是網(wǎng)站搜索引擎...
2012-05-30 -
集團網(wǎng)站建設(shè)SEO優(yōu)化和用戶體驗有關(guān)系嗎?
作為一個網(wǎng)站,很多人都在糾結(jié)seo優(yōu)化或者用戶體驗?和友網(wǎng)認為優(yōu)化和用...
2021-08-23 -
尚品中國教你如何制作網(wǎng)站
首先,可以告訴想學(xué)網(wǎng)站建設(shè)的朋友。學(xué)習制作網(wǎng)站和學(xué)習其它知識一樣,是要...
2013-11-21 -
企業(yè)響應(yīng)式網(wǎng)站建設(shè)
傳統(tǒng)網(wǎng)站已經(jīng)無法滿足用戶的需求。企業(yè)響應(yīng)式網(wǎng)站建設(shè)成為一種趨勢,它能夠...
2023-06-14 -
你是否嘗試過網(wǎng)站設(shè)計的四種法則
一個網(wǎng)站的建設(shè)如果不靠內(nèi)容,單純依靠設(shè)計來贏得用戶的訪問,這樣的網(wǎng)站是...
2013-03-18
預(yù)約專業(yè)咨詢顧問溝通!
免責聲明
非常感謝您訪問我們的網(wǎng)站。在您使用本網(wǎng)站之前,請您仔細閱讀本聲明的所有條款。
1、本站部分內(nèi)容來源自網(wǎng)絡(luò),涉及到的部分文章和圖片版權(quán)屬于原作者,本站轉(zhuǎn)載僅供大家學(xué)習和交流,切勿用于任何商業(yè)活動。
2、本站不承擔用戶因使用這些資源對自己和他人造成任何形式的損失或傷害。
3、本聲明未涉及的問題參見國家有關(guān)法律法規(guī),當本聲明與國家法律法規(guī)沖突時,以國家法律法規(guī)為準。
4、如果侵害了您的合法權(quán)益,請您及時與我們,我們會在第一時間刪除相關(guān)內(nèi)容!
聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com