ruby 執行緒的效能測試

2021-05-21 15:13:05 字數 1006 閱讀 2481

在使用中ruby的過程中難免會遇到提高效能的問題,由此便想起了ruby執行緒。但是我在使用中卻發現ruby的執行緒卻不能提高效能。我寫了以下**,做了些簡單測試。

**

測試結果如下

"沒有使用執行緒,執行緒的處理**裡沒有sleep"    ->     24秒

2009-12-02 23:03:11 +0800##

2009-12-02 23:03:35 +0800

"使用執行緒,執行緒的處理**裡沒有sleep" -> 26秒

2009-12-02 23:03:35 +0800##

2009-12-02 23:04:01 +0800

"使用執行緒,執行緒的處理**裡有sleep" -> 3秒

2009-12-02 23:04:01 +080033

2009-12-02 23:04:04 +0800

"沒有使用執行緒,執行緒的處理**裡有sleep" -> 5秒

2009-12-02 23:04:04 +080033

2009-12-02 23:04:09 +0800分析

從上面可以的結果看出,一旦你的處理很忙的時候,沒有空閒的話,使用ruby的多執行緒反而效能會變低。如果你的處理有空閒的話,使用多執行緒,就能達到提高效能的目的。其中官方也提到了ruby的執行緒並不能提高執行速度。(http://www.ruby-lang.org/ja/man/html/thread.html 日文的)

* 執行緒定義參考

ruby執行緒概述

執行緒(thread)就是指能在乙個程式中處理若干控制流的功能。與os提供的程序不同的是,執行緒可以共享記憶體空間。

ruby

中使用的執行緒是使用者級執行緒,由ruby直譯器進行切換管理。其效率要低於由os管理執行緒的效率,且不能使用多個cpu,這確實是它的缺點。但其優點也很明顯,即可移植性很高。

引用url:http://hi.baidu.com/chenjinze/blog/item/b4edde1c831bcc8887d6b633.html

頁面效能測試 Ruby篇

上篇文章寫了頁面效能測試 qtp篇,我想大家都了解了怎麼去實現頁面效能測試了,那麼我現在再來說一下如何用ruby來實現,其實實現的思想都是一樣的,唯一的區別就是適用的工具不一樣而已。那麼我為什麼要是用ruby再來實現一次,而不是用qtp呢?原因是ruby有著qtp所無法比擬的優點,這點讓我下定決心來...

ruby執行緒執行速度測試

首先宣告下,純粹是想看下ruby thread和native thread的差距,並無意貶低ruby.測試結果嚇一跳,不是太快。和native thread相比,實在太慢。很簡單,每次啟動10個ruby thread,做100000次的累加。連續執行10次,求執行平均值。我的工作機,pc 2.8g,...

執行緒池效能測試

eterfree執行緒池以乙個基於boost程式庫的執行緒池為參照執行緒池,分別在不同硬體 不同作業系統的計算機對兩種執行緒池進行效能測試。用於效能測試的四台計算機,其配置資訊如表所示 cpu型號 cpu核心頻率 cpu核心數量 cpu執行緒數量 記憶體容量 作業系統 系統位數 intel core...