athlon 64 3000+ 512m ram os : windows
這裡的執行緒數指的是tp_reactor執行緒池的執行緒數量
測試的用例就是論壇上的tp_reactor例子稍加改動,去掉一些自己的邏輯,只保留io部分
就是用的這個例子:
測試客戶端使用多執行緒併發傳送,每個包200位元組,單執行緒也試過,結果類似
一些測試時的直觀感受:
1、單執行緒雖然io效能很高,但是cpu占用也是相當的高,一度出現瀕臨宕機的狀態,如果再加上自己的邏輯,恐怕效能會大大降低,遠達不到單純io時的效能
2、多執行緒下隨著執行緒數的增多,效能會降低,但是不管有多少個執行緒,io絕不會低於2000kb/s,也就是說,2000kb/s是比較極限的數值,至於為什麼還不知道,希望哪位大蝦給予解釋
3、測試全部是本地測試,條件有限,無法真正模擬實際中的情況,哪位大蝦有了新的測試結論,請告知,謝謝!
ACE框架的三大部分
ace體系結構包括3個基本層次 作業系統適配層 c 包裝層 框架元件層。作業系統適配層直接駐留在用c寫成的本地os api之上,將ace中的其他層與os api相關聯的平台專有特性遮蔽開來。由於ace操作適配層所提供的抽象,極大地增強了ace的可移植性和可維護性。c 包裝層通過提供型別安全的c 介面...
Windows環境下配置ACE框架的簡易方法
2 開啟vs等程式設計工具開啟ace原始碼,分別編譯debug版和release版 3 開啟vs等程式設計工具,新建乙個專案到ace專案開發資料夾下 4 右鍵專案名 properties c c general additional include directories,新增.5 右鍵專案名 pr...
基於ACE應用程式設計框架 執行緒池 ACE
private imanager manager shutdown 0 workers lock workers cond workers lock 執行緒處理函式 int svc void choose a worker.worker worker 0 這對大括號中的 從worker執行緒池中獲取...