人人顺配资,比较好的股票配资平台,股票杠杆的平台,正规配资平台app

MENU 服務 案例
網站建設-網站設計-北京網站建設-高端網站制作公司-尚品中國
我們通過擁抱變化創造
360°的品牌價值__
簡體
簡體中文 English

尚品與山東真諾智能設備有限公司簽署網站改版合作協議

類型:尚品動態 了解更多

[北京網站制作]Clojure語言叫板Scala語言 我們不怕內存溢出

來源:尚品中國| 類型:網站百科| 時間:2011-10-20

我在這里是想跟大家分享一些從World Singles 系統里獲得的經驗 …

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

我們使用Scala編程作為產品的后臺發布程序已經有差不多兩年了。大多時候,它運行的非常好,但在壓力大的時候,它會出現內存溢出的現象,經過大量的觀察和測試,我們慢慢的確認,(至少部分原因)是Scala語言本身的實現導致了這個問題。Scala正準備要收編Akka程序庫,我們一直在考慮把程序遷移到Akka上…

因為今年我們開始使用Clojure語言(大概是去年5月我們就開始嘗試這種語言),我們認為應該集中兵力開發出一個Clojure版本的Scala程序,看看它運行起來表現如何。

這個Clojure版的后臺發布程序的開發耗費了我們大概15個小時,并通過了所有測試。今天我們進行了一次“疲勞測試”,讓它一次處理將近30萬個會員的信息。如果是Scala程序,當一次處理的數據量達到5萬份時(有時會更少),它就會報內存溢出錯誤。而Clojure程序卻一氣呵成,十分順利——于是,我們就決定在下一次產品發布里用它把Scala程序給替換下來了。

另外一個有趣的方面是,Scala版的程序長度總共大約有1000行(大概有3.1萬個字符)。而Clojure版的只有260行(大約1.15萬個字符)。就連注釋也簡單了(*呃哼*—這并不是我想炫耀的,只是想說這種比較沒有偏向)。我們的比較還沒有把單元測試代碼計算入內,因為Clojure版寫的很倉促。Clojure的代碼形式非常的接近Scala代碼,很多函數都相同——Clojure是一種更強大的Scala——它對一些輔助函數進行的重構,使其變的更加模塊化和可維護。(北京網站制作)

結果是很顯然,我將在產品里采用Clojure版的發布程序,完全的放棄Scala。

這是Rich Hickey(Clojure語言的發明人) 和 Clojure/core 開發團隊的功勞,他們創造了這樣一種精彩適用的編程語言,幫人們解決了大問題——謝謝你們!

標簽:北京網站制作 高端網站建設

來源聲明:本文章系尚品中國編輯原創或采編整理,如需轉載請注明來自尚品中國。以上內容部分(包含圖片、文字)來源于網絡,如有侵權,請及時與本站聯系(010-60259772)。
TAG標簽:

如果您的網站可以增加轉化次數并提高客戶滿意度,該怎么辦?

預約專業咨詢顧問溝通!

*尚品專業顧問將盡快與您聯系

免責聲明

非常感謝您訪問我們的網站。在您使用本網站之前,請您仔細閱讀本聲明的所有條款。

1、本站部分內容來源自網絡,涉及到的部分文章和圖片版權屬于原作者,本站轉載僅供大家學習和交流,切勿用于任何商業活動。

2、本站不承擔用戶因使用這些資源對自己和他人造成任何形式的損失或傷害。

3、本聲明未涉及的問題參見國家有關法律法規,當本聲明與國家法律法規沖突時,以國家法律法規為準。

4、如果侵害了您的合法權益,請您及時與我們,我們會在第一時間刪除相關內容!

聯系方式:010-60259772
電子郵件:394588593@qq.com

現在就與專業咨詢顧問溝通!

  • 全國服務熱線

    400-700-4979

  • 北京服務熱線

    010-60259772

信息保護中請放心填寫
在線咨詢

免責聲明

非常感謝您訪問我們的網站。在您使用本網站之前,請您仔細閱讀本聲明的所有條款。

1、本站部分內容來源自網絡,涉及到的部分文章和圖片版權屬于原作者,本站轉載僅供大家學習和交流,切勿用于任何商業活動。

2、本站不承擔用戶因使用這些資源對自己和他人造成任何形式的損失或傷害。

3、本聲明未涉及的問題參見國家有關法律法規,當本聲明與國家法律法規沖突時,以國家法律法規為準。

4、如果侵害了您的合法權益,請您及時與我們,我們會在第一時間刪除相關內容!

聯系方式:010-60259772
電子郵件:394588593@qq.com