| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Форум группы: delphi > Оптимизировать работу с множеством |
| Автор: Akella 2.12.2009, 21:30 | ||
Принцип какой? Оставить в выходной строке только цифры и символ, который находится в параметре Ignore |
| Автор: THandle 3.12.2009, 13:59 | ||
Akella, что-то не понял что нужно оптимизировать в данном коде... На выход у тебя идут все символы-числа + символы равные символу Ignore... Я бы изменил до такого вида:
|
| Автор: Akella 3.12.2009, 16:18 |
| Я хочу оптимизировать не с точки зрения кода, а с точки зрения времени выполнения самой функции. Чтобы "отсеивание" левых символов выполнялось быстрее. |
| Автор: Beltar 5.12.2009, 00:46 | ||||
Не сочтите невежливым, но есть такой рекомендуемый чит, как передача не меняющихся в процедуре строк, как констант, что впрочем уже предложил THandle.
А оно диких перераспределений памяти не создает? Мне кажется, что само вхождение в множество провереряется быстрее всех строковых операций.
А Length не в каждой итерации вычисляется? |
| Автор: THandle 5.12.2009, 00:57 |
Нет. В цикле for начальное и конечное значения вычислюбтся один раз - в самом начале. Akella, щас попробую задизасмить эту функцию и что нибудь убыстрить... Результатов не гарантирую) |
| Автор: bems 19.3.2010, 07:51 |
| Akella, проверка вхождения символа в множество это плохо начиная с появления нативного уникода. Нужно в любом случае заменить. |
| Автор: Akella 19.3.2010, 10:23 |
| И что же может быть быстрее? У меня D2007, я не использую юникод. |