国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

不嚴謹的不同語言下大 Excel 文件寫入的性能比較

keithxiaoy / 1772人閱讀

摘要:測試內容使用不同的語言及其版本,測試各自完成包含行列單元格的文件的生成,對比其各自耗費時間,次重復執行取其平均值后進行橫向比較。

背景

去年因為線上系統需要導出大量數據(大概是 11 萬行)到 Excel,代碼是 Python 2.7 寫的,除去數據庫查詢耗時,整個的 Excel 文件生成也還要耗費幾十秒的時間,這聽起來真是一個非常夸張的事情。后來為其更換了號稱性能表現最好的 pyexcelerate 庫,性能確實有提升,但是仍是差強人意的在小幾十秒。

昨天突發奇想,如果是換成其他語言,這個 excel 導出是否還需要這么長時間?于是經過一番試驗之后,就有了今天的這篇文章。

特別聲明:試驗只是為了感官上做個簡單對比,測試結果采集數據只考慮了耗時,沒有考慮資源消耗等情況,需要嚴謹的性能對比的讀者,可以放棄閱讀了。

測試內容

使用不同的語言及其版本,測試各自完成包含 100,000 行 x 50 列單元格的 excel 文件的生成,對比其各自耗費時間,3次重復執行取其平均值后進行橫向比較。

已經測試的語言及版本

Ruby 2.6 + axlsx 2.0.1

Python 2.7 + pyexcelerate 0.7.3

Python 3.6 + pyexcelerate 0.7.3

Go 1.10.1 + gooxml 0.8

測試代碼

https://github.com/Martin91/e...

結果

結論

就這個測試場景來說:

Go 1.10.1 + gooxml 0.8 是最快的;

同樣是 pyexcelerate 0.7.3,Python 2.7 性能優于 Python 3.6;

Ruby 2.6 + axlsx 2.0.1 表現最不給力,這里有個題外話,選擇的 axlsx 本身并不是性能最好的 gem,只是流行度夠高,Ruby 有一個專門針對性能優化后的 gem,但是因為知之甚少,沒有采用。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/43434.html

相關文章

  • Go 語言 Excel 類庫 Excelize 2.0.0 版本發布

    摘要:是語言編寫的用于操作文檔類庫,基于標準。可以使用它來讀取寫入由及以上版本創建的文檔。年月日,社區正式發布了版本,該版本包含了很多新功能錯誤修復和性能優化。 showImg(https://segmentfault.com/img/remote/1460000018971694?w=880&h=360); Excelize 是 Go 語言編寫的用于操作 Office Excel 文檔類庫...

    andycall 評論0 收藏0
  • 使用PHP_XLSXWriter代替PHPExcel

    摘要:能不能單獨設置某個單元格的值這個目前并沒有實現,現在數據的寫入都是逐行寫入的,不支持這么細的粒度,不過折中的做法是把不需要填充的單元格寫入即可如果有什么使用問題,可以在下面留言,一起探討使用方式 二者有何區別? PHPExcel 是一個處理Excel,CVS文件的開源框架,它基于微軟的OpenXML標準和PHP語言。可以使用它來讀取、寫入不同格式的電子表格,這也是PHP至今最通用的Ex...

    TZLLOG 評論0 收藏0
  • java 導出 excel 最佳實踐,java 大文件 excel 避免OOM(內存溢出) exce

    摘要:消費之后,多線程處理文件導出,生成文件后上傳到等文件服務器。前端直接查詢并且展現對應的任務執行列表,去等文件服務器下載文件即可。這客戶體驗不友好,而且網絡傳輸,系統占用多種問題。拓展閱讀導出最佳實踐框架 產品需求 產品經理需要導出一個頁面的所有的信息到 EXCEL 文件。 需求分析 對于 excel 導出,是一個很常見的需求。 最常見的解決方案就是使用 poi 直接同步導出一個 exc...

    K_B_Z 評論0 收藏0
  • Excelize發布2.0.1版本,Go語言Excel文檔基礎庫

    摘要:是語言編寫的用于操作文檔類庫,基于標準。可以使用它來讀取寫入由及以上版本創建的文檔。年月日,社區正式發布了版本,該版本包含了多項新增功能錯誤修復和兼容性提升優化。下面是有關該版本更新內容的摘要,完整的更改列表可查看。 showImg(https://segmentfault.com/img/remote/1460000018971694?w=880&h=360); Excelize 是...

    oliverhuang 評論0 收藏0
  • XCel 項目總結 - Electron 與 Vue 性能優化

    摘要:而這里的單元格信息是唯一的,所以直接通過為一個空對象賦值即可。和相關的知識和技巧高亮的列單元格采用展示。在中,被選中的單元格會高亮相應的行和列,以提醒用戶。 showImg(https://segmentfault.com/img/bVGkdk?w=900&h=500); XCEL 是一個 Excel 數據清洗工具,其通過可視化的方式讓用戶輕松地對 Excel 數據進行篩選。 XCEL...

    XUI 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<