2010-10-24 101 views
-2

我有一個WCF服務,它與套接字異步工作,我有一些性能問題,所以我決定重構代碼,我讀了一些關於異步和多線程的F#的易用性的文章和等等,但我想知道我會獲得更好的使用F#並行性的性能?並且它容易與WCF服務兼容,我有大量的數據應該通過套接字(在tcp上)傳輸,所以它有一個很好的性能和並行性算法的重要性。異步套接字編程和F#

+0

「我有一些性能問題」 - 爲什麼你認爲F#將解決您的性能問題?建議你描述性能。問題你有 – 2010-10-24 07:02:59

+0

我有太多的瘦客戶端,他們會發送數據到服務器,並請求服務器從他們那裏獲取數據,當他們想要發送數據到服務器時,我應該更新客戶端UI,並更新相關的數據庫,瘦客戶機數據將在未知的時間內(在(1,420)秒的時間間隔內)接收,所以我應該使用並行性,並且有一種有效的方式來將數據存儲在數據庫中,以避免數據丟失並具有良好的表現。 – 2010-10-24 07:11:40

+0

@Mitch小麥,我從來不認爲F#解決了我的性能問題,我想如果有一個好的庫來執行更好的算法,即我們可以使用asp.net或MVC asp作爲web應用程序,但最後一個設計更好(對於我)所以我可以使用它來防止一些不良的編碼,做到更好的性能。 – 2010-10-24 07:13:05

回答

5

簡而言之:

F#具有與C#類似的性能配置文件。你不應該指望F#和C#對於類似結構化的代碼有很大的性能差異。

與C#相比,F#爲異步代碼提供了更好的編程模型。如果你在C#中使用了很多BeginFoo/EndFoo回調函數,那麼你會發現在F#中編寫這段代碼要容易得多,並且更容易「讓它正確」。

http://lorgonblog.wordpress.com/2010/03/28/f-async-on-the-server-side/