Одним из основных улучшений RAD Studio 10.4.2 Sydney является значительное увеличение скорости работы компилятора Delphi. Согласно официальному анонсу, разработчики реализовали более 35 различных оптимизаций компилятора. На вебинаре "What's Coming in Delphi, C++Builder and RAD Studio 10.4.2 Sydney" был заявлен рост скорости в 90 процентов.
На сколько же реально выросла скорость работы компилятора в Delphi 10.4.2?
Если судить по уже опубликованным материалам, рост скорости компиляции для 32-битного компилятора Delphi составил примерно 40 процентов. Например:
Delphi 10.3.3 Win32 Delphi 10.3.3 Win64 Delphi 10.4.1 Win32 Delphi 10.4.1 Win64 Delphi 10.4.2 Win32 Delphi 10.4.2 Win64 Мы видим падение скорости компиляции примерно на 4% при переходе с Delphi 10.3.3 на 10.4.1, и ее рост на 37.92% для 32-битной версии и на 24.48% для 64-битной версии при переходе с Delphi 10.4.1 на 10.4.2:
Это конечно не заявленные 90 процентов, но рост скорости компиляции на 25-40 процентов впечатляет и не может не радовать.
Улучшение производительности компилятора Delphi 10.4.2 была достигнута за счет использования исходного кода IDE Fix Pack. IDE Fix Pack – это набор неофициальных исправлений ошибок и оптимизаций производительности для IDE RAD Studio, компилятора Win32/Win64/Andoird-ARM и отладчика Win32. Его автор, Andreas Hausladen, уже 15-20 лет работает над улучшением Delphi и C++Builder. Например, его модуль ControlsAtomFix исправлял в Delphi 6-XE ошибку QC 90511 (утечка ресурсов, вызванная сообщением RM_GetObjectInstance), которая была исправлена разработчиками Delphi только в версии XE2. Andreas Hausladen является автором более десятка экспертов и модулей: DDevExtensions, DFMCheck, DelphiSpeedUp, DLangExtensions, AsyncCalls... Я использовал его DelphiSpeedUp и RtlVclOptimize еще при работе с Borland Delphi 7. Возникает вопрос, почему разработчики Delphi обратили внимание на IDE Fix Pack только сейчас?
Продолжение: "Состязание компиляторов: Delphi 10.4.2 против Delphi 10.3.3 под допингом".
Если судить по уже опубликованным материалам, рост скорости компиляции для 32-битного компилятора Delphi составил примерно 40 процентов. Например:
- Adrian Gallero, project manager в TMS Software, сравнил скорость компиляции 32-битной версии TMS FlexCel на Delphi 10.3 и 10.4.2 – рост 36.67%:
- Jim McKeeth, Chief Developer Advocate из Embarcadero Technologies, сравнил скорость компиляции HeidiSQL на Delphi 10.4.1 и 10.4.2: рост для 32-битной версии – 40%, для 64-битной – 7.9%:
Delphi 10.3.3 Win32 Delphi 10.3.3 Win64 Delphi 10.4.1 Win32 Delphi 10.4.1 Win64 Delphi 10.4.2 Win32 Delphi 10.4.2 Win64 Мы видим падение скорости компиляции примерно на 4% при переходе с Delphi 10.3.3 на 10.4.1, и ее рост на 37.92% для 32-битной версии и на 24.48% для 64-битной версии при переходе с Delphi 10.4.1 на 10.4.2:
10.3.3 | 10.4.1 | 10.4.2 | |||||
Время | Время | Сравнение с 10.3.3 |
Время | Сравнение с 10.3.3 |
Сравнение с 10.4.1 |
||
Win32 | 20.3с | 21.1с | 3.94% | 13.1с | -35.47% | -37.92% | |
Win64 | 32.1с | 33.5с | 4.36% | 25.3с | -21,18% | -24,48% |
Улучшение производительности компилятора Delphi 10.4.2 была достигнута за счет использования исходного кода IDE Fix Pack. IDE Fix Pack – это набор неофициальных исправлений ошибок и оптимизаций производительности для IDE RAD Studio, компилятора Win32/Win64/Andoird-ARM и отладчика Win32. Его автор, Andreas Hausladen, уже 15-20 лет работает над улучшением Delphi и C++Builder. Например, его модуль ControlsAtomFix исправлял в Delphi 6-XE ошибку QC 90511 (утечка ресурсов, вызванная сообщением RM_GetObjectInstance), которая была исправлена разработчиками Delphi только в версии XE2. Andreas Hausladen является автором более десятка экспертов и модулей: DDevExtensions, DFMCheck, DelphiSpeedUp, DLangExtensions, AsyncCalls... Я использовал его DelphiSpeedUp и RtlVclOptimize еще при работе с Borland Delphi 7. Возникает вопрос, почему разработчики Delphi обратили внимание на IDE Fix Pack только сейчас?
Продолжение: "Состязание компиляторов: Delphi 10.4.2 против Delphi 10.3.3 под допингом".
Тоже давно задавался этим вопросом, почему не включают в код его наработки
ОтветитьУдалитьЧтобы сделать человеку хорошо, сделай ему вначале плохо, а потом верни, как было. Я не понимаю всеобщей радости по этому поводу. От версии к версии разработчики Delphi уменьшали скорость компиляции, теперь увеличили. Все "Ура!!! Спасибо товарищу Сталину за наше счастливое детство..."
ОтветитьУдалитьЯ так понимаю, те, кто использовал IDE Fix Pack (большинство?), разницы в скорости вообще не ощутят? Да уж, достижение века!
ОтветитьУдалитьЛучше бы они озаботились качеством конечного компилируемого кода.
ОтветитьУдалитьDelphi это найтив. А почти единственный плюс от возни с найтивом в наше время - это максимально-возможная оптимизация и скорость работы конечного кода.
И если Си/С++ в этом по прежнему вне конкуренции, то Дельфи уже десятилетие как позорно не может оторваться в этом вопросе даже от таких менеджед сред как .NET и Java.
Я сам проводил не сложные алгоритмические тесты SkiMark и сам недоумевал.
Кому будет охота возиться с дельфевым найтивом и ручным менеджментом памяти в новых проектах, если при этом преимущества перед куда более удобным во всех отношениях .Net-ом уже практически нет?