是否使用多個.NET語言,(DELPHI,VB.NET,C#)到同一個應用程序(但當然型動物類庫)可下peformances相比全C#應用程序爲例如?跨.NET語言表演
回答
我不是CLR的專家,但我想你會有非常相似的表現。所有語言都編譯爲在CLR上運行的MSIL。性能可能會有差異,這取決於編譯器生成的MSIL。即,VB.NET中的類似代碼可能會編譯成比C#編譯器更少(或更多)優化的MSIL。
沒有任何確鑿的證據證明這一點,我只會做出一個有根據的猜測,並說不。由於你的程序集被編譯成幾乎相同的IL,所以你不會看到使用CLR語言的不同實現會導致性能下降。
但是,這是與單一的限制,編譯不同的dotnet語言到MSIL是相同的。我的意思是不同的編譯器行爲相同。 – 2009-01-04 11:40:34
雖然我沒有任何基準,但我認爲大多數情況下不應該這樣做。這些不同的語言都將代碼編譯成CIL,所以你應該沒問題。
一個地方,這將是不同的是在DLR上運行的語言(IronPython,IronRuby等)。他們正在編譯使用CLR中不存在的一些功能,這些功能的運行成本更高。
正如其他答案所提到的,所有代碼最終都編譯爲CIL,因此如果代碼是跨語言一致地完成的(並且沒有啓用編譯器優化),那麼所得到的IL將會變得漂亮相同。現在,如果您使用相同的代碼並使用編譯器優化,則可能會得到一組不同的IL,這會影響性能。
正如this answer所提出的那樣,DLR可能會對性能產生影響。儘管我已經聽說/瞭解了大部分的內容,但是它們的性能影響幾乎可以忽略不計。
我同意其他答案。唯一可能影響性能的是如果你加載了很多程序集,你會看到開銷。但是,開銷與用於創建程序集的語言無關,但如果混合了許多不同的組件,則最終的組裝可能會多於其他組件。如果你的應用程序不是這種情況,你應該沒問題。
- 1. 校正跨語言
- 2. 跨平臺的語言環境表
- 3. .NET彙編語言
- 4. .net腳本語言
- 5. .net多語言cms
- 6. .NET編程語言
- 7. 跨語言開發問題
- 8. 跨語言共享常量
- 9. 跨語言中間件
- 10. 跨語言編碼標準?
- 11. 對.NET語言的跨平臺GUI編程提供建議?
- 12. 橫跨演員
- 13. Windows API和.net語言
- 14. .Net多語言本地化
- 15. .NET和動態語言
- 16. 跨平臺,語言不可知的GUI標記語言?
- 17. 哪種語言更適合跨平臺?
- 18. 跨語言字符串轉義
- 19. Web服務跨語言參數類型
- 20. D語言,Eclipse,編譯跨項目
- 21. 跨平臺移動開發語言
- 22. 本地跨平臺語言+環境
- 23. 跨多種語言搜索 - 如何?
- 24. 跨語言可逆加密(PHP,Python)
- 25. python <=> C++跨語言散列
- 26. 語言文件跨模塊和應用
- 27. 二維數組跨語言C++和C#
- 28. 跨多種人類語言統一enum.values()
- 29. 跨Java和Javascript模板語言?
- 30. 跨平臺編程語言2D/3D?
同意。在某些情況下,使用能最好地解決特定子系統問題集的語言可能實際上是有益的。例如使用F#進行高度並行計算程序。 – Josh 2009-01-04 03:34:13