Есть ли будущее у .NET?
Страница 1 из 1
Есть ли будущее у .NET?
Есть ли будущее у .NET?
Последний раз редактировалось: (Сб Фев 02, 2008 5:57 pm), всего редактировалось 2 раз(а)
Re: Есть ли будущее у .NET?
Рихтер Дж. Программирование на платформе Microsoft .NET Framework
- Код:
Трудно поверить, но многие (включая меня) считают, что управляемые при-
ложения производительней неуправляемых, и тому есть масса подтверждений.
Например, когда JIT-компилятор компилирует IL-код в команды процессора в
период выполнения, он располагает более полными сведениями о среде выпол-
нения в сравнении с компилятором неуправляемого кода. Вот некоторые спосо-
бы, которые позволяют управляемому коду «опередить» неуправляемый,
• JIT-компилятор может обнаружить, что приложение запускается на процессо-
ре Pentium 4 и сгенерировать процессорный код, полностью использующий
все преимущества особых команд Pentium 4- Неуправляемые приложения обыч-
но компилируются в расчете на процессор, являющийся «наименьшим общим
знаменателем», избегая специфических команд, которые заметно повышают
производительность приложения на новейших процессорах.
• JIT-компилятор может обнаружить, что некоторая проверка всегда приводит
к отрицательному результату на конкретной машине.
Этот код указывает JIT-компилятору, что для машины с одним процессором
не нужно генерировать никакие команды процессора. В этом случае собствен-
ный код процессора оптимизирован для конкретной машины: он короче и
выполняется быстрее.
• CLR может проанализировать выполнение кода и перекомпилировать IL-код в
команды процессора при выполнении приложения. Перекомпилированный код
может быть реорганизован с учетом обнаруженных некорректных прогнозов
ветвления.
- Код:
Это лишь малая часть аргументов в пользу того, что управляемый код будуще-
го будет исполняться лучше сегодняшнего неуправляемого. Как я сказал, произ-
водительность и сейчас очень неплохая для большинства приложений, а со вре-
менем ситуация только улучшится.
Если ваши эксперименты покажут, что JIT-компилятор CLR не обеспечивает
нужную производительность, можете использовать утилиту NGen.exe, поставляе-
мую с .NET Framework SDK. NGen.exe компилирует весь IL-код некоторой сборки
в процессорный и сохраняет результирующий код процессора в дисковом фай-
ле. При загрузке сборки в период выполнения. CLR автоматически проверяем на-
личие предварительно скомпилированной версии сборки и, если она есть, загру-
жает скомпилированный код, так что компиляция в период выполнения не ;тро-
из водится.
Re: Есть ли будущее у .NET?
Статья .NET vs. Java http://www.proklondike.com/contentview.php?content=286
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения