FastString Альтернативы Delphi XE2 - PullRequest
3 голосов
/ 31 января 2012

Когда я задал этот вопрос некоторое время назад, устройство FastString пришло, чтобы решить мою проблему.

Теперь я начинаю миграцию моего программного обеспечения с D7 на XE2. У меня вопрос, какие у меня есть альтернативы, так как кажется, что FastString больше не решит проблему?

... или, более оптимистично, сам Delphi решает эти проблемы с производительностью?

Ответы [ 2 ]

5 голосов
/ 31 января 2012

Множество подпрограмм FastCode было включено в последние версии Delphi, поэтому вам, возможно, больше не понадобятся сторонние библиотеки.
Попробуйте использовать стандартный RTL / VCL, а затем посмотрите, есть ли у вас проблема, и какое решение будет лучшим для ее решения в новой среде.

2 голосов
/ 13 августа 2012

Беспокоясь о влиянии Unicode на превосходную производительность строк в Delphi (уровень FastStrings которого поднялся до экстремального уровня), я провел серию сравнительных сравнительных тестов, сравнивающих Delphi 7, 2007 и 2009 вскоре после выпуска 2009 года эти тесты включали некоторые сравнения FastStrings.

Были сделаны выводы, что, несмотря на тот факт, что да, в RTL произошли некоторые существенные улучшения, которые сводят на нет необходимость в FastStrings, однако есть (или были во время Delphi 2009) некоторые потенциальные "ошибки", ожидающие вас, чтобы поймать вас если бы вы просто и наивно полагали, что все было сладко, как в саду Delphi 2009+.

И, в конечном счете, накладные расходы на Unicode пожирают большую часть выгод от 2009+ (а это не то, что FastStrings мог бы когда-либо обойти, так как многие улучшения в FastStrings полагались на надежные артефакты строк ANSI, в частности, которые делают не относится к Unicode).

Стоит отметить, что я не пересматривал эти тесты с тех пор, и, возможно, было бы интересно повторить это упражнение, принимая во внимание Delphi 2010, XE и XE2, чтобы увидеть, были ли внесены какие-либо дальнейшие улучшения в этих выпусках.

Я могу предпринять это после того, как закончу подготовку среды Smoketest - которую я использовал для первоначального проведения тестов - к выпуску, предоставив пример.

...