2010-08-25 37 views
2

哪一個會更有效率,爲什麼?我剛剛開始使用RX並試圖瞭解如何編寫更好的代碼。哪個反應式擴展代碼更有效?

例如,我可以做

tradesfeed.Where(trade=>trade.Size > 500).Subscribe(x => 
{ 
    Console.WriteLine("big trade: " + x.Symbol + " " + x.Size); 
}); 

tradesfeed.Where(trade=>trade.Size <= 500).Subscribe(x => 
{ 
    Console.WriteLine("little trade: " + x.Symbol + " " + x.Size); 
}); 

或只有一個訂閱

tradesfeed.Subscribe(x => 
{ 
    if (x.Size > 500) 
     Console.WriteLine("big trade: " + x.Symbol + " " + x.Size); 
    else 
     Console.WriteLine("little trade: " + x.Symbol + " " + x.Size); 
}); 
+5

假設差異小於1%。那麼應該如何將性能作爲編寫代碼的首要考慮因素? – 2010-08-25 20:58:13

+0

其次是效率更高(可以忽略不計)但更難重新考慮因素。我首次使用95%的時間。 – 2010-08-25 22:14:32

回答

2

二是少委託分配方面更加高效。但差異會非常小,根本不應被視爲您選擇的因素。去任何簡單的代碼,不要擔心微觀優化。