我正在使用F# Code Quotations
來生成可執行的.NET庫,通過LINQ expression trees
或FSharp.Compiler.Services
。使用鍵入與未鍵入的F#代碼引用的運行時性能影響是什麼?
我可以創作/製作最的AST的使用類型報價需要的,但我有一個特定的區域掙扎的表達能夠解決多種類型 - 因此正在考慮非類型化代碼的報價。
我從this SO question從安全的角度來看類型表達式的優點,但我主要關心的是運行時性能。
如果您的表達式可以解析爲多種類型,它是元編程「代碼氣味」嗎?
請問這有什麼區別的運行時性能(.NET)如果我使用類型與類型化的報價/表情
與大多數關於性能的問題一樣:*取決於*。你有沒有試圖測量差異? –
在我測試的一個(很多潛在的)應用程序中,我沒有看到性能的差異 - 這讓我感到驚訝。我的問題是:我應該感到驚訝嗎?如果無類型表達式可以在生成/編譯時計算出它們的類型,那麼性能可能相當。 – Sam