Производительность .NET Target Framework - PullRequest
3 голосов
/ 12 октября 2010

У меня есть библиотека классов .NET 4.0, которая использует только функции .Net 2.0. Чтобы сделать эту библиотеку более совместимой с Mono, я планирую изменить Target Framework на 2.0 вместо 4.0 Client Profile.

Но вопрос в следующем: меняет ли Target Framework на более старую версию замедление работы библиотеки (ухудшает производительность). Графический интерфейс приложения будет по-прежнему ориентирован на 4.0, поэтому на всех ПК с Windows, на которых выполняется приложение, будет установлена ​​платформа 4.0. Будет ли моя библиотека 2.0 выполняться компилятором 4.0 JIT (производительность должна быть такой же) или более старой версией 2.0 JIT (производительность может быть ниже)?

Ответы [ 3 ]

1 голос
/ 12 октября 2010

Нет, так как приложение все еще нацелено на версию 4 платформы (как вы сказали "GUI приложения будет по-прежнему предназначаться для 4"), тогда весь код будет использовать J4 V4 и, следовательно, будет работать на скорости V4, даже если данная DLLцель V2 каркаса.

1 голос
/ 12 октября 2010

Если вы нацелились на старый фреймворк, то код будет выполняться на старом CLR.Таким образом, производительность будет такой же, как у старого CLR, и, возможно, будет медленнее, но вам придется профилировать, чтобы увидеть, если это проблема.

0 голосов
/ 12 октября 2010

.NET Framework 4 обратно совместим с приложениями, созданными с версиями 1.1, 2.0, 3.0 и 3.5.

Что касается производительности, я не думаю, чтозаметная разница будет очевидна.Вы должны быть более обеспокоены тем, что различные версии платформы нарушают совместимость из-за устаревшей функциональности .

Подробную информацию о совместимости см. Здесь

...