Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#121: 2011-07-30 13:57:43 ЛС | профиль | цитата
В принципе у меня число попугаев одинаково.
testmulti.png
Разница только в размере *.pas - файлов: nesco = 6255, на штатных = 4874.

И число попугаев на 10000 повторов
for10000.png
------------ Дoбавленo в 13.57:
nesco писал(а):
Короче, все остается как есть. Ничего я переделывать не буду,

А я бы все ж таки изменил
#pas
procedure THiMultiBlockFindM._work_doMultiBlockFind;
var
i: integer;
Text: string;
dt: TData;
mt: PMT;
initmt: boolean;
begin
text := ReadString(_Data, _data_Text); // Читаем Текст
dtNull(dt); // Чистим dt
if (FListTag.Count = 0) or (text = ') then exit; // и нахрена мы это все делали если FListTag
// оказался пустым ?
// Так "защита от дурака" превращается в
// "дурацкую защиту".
for i := 0 to FListTag.Count - 1 do
begin
mt := nil;
initmt := true;
findblock(text, FListTag.Items[i]);
if(i >= 0) and (i < FCount) then _hi_onEvent(onResult[i], dt);
if Assigned(mt) then mt_free(mt);
end
end;

// Более логично

procedure THiMultiBlockFindM._work_doMultiBlockFind;
var
i: integer;
Text: string;
dt: TData;
mt: PMT;
initmt: boolean;
begin
if (FListTag.Count = 0) then exit; // Уходим если FListTag пустой. Если нет то
text := ReadString(_Data, _data_Text); // читаем текст
if (text = ') then exit; // Уходим если текста нет
dtNull(dt);
for i := 0 to FListTag.Count - 1 do
begin
mt := nil;
initmt := true;
findblock(text, FListTag.Items[i]);
if(i >= 0) and (i < FCount) then _hi_onEvent(onResult[i], dt);
if Assigned(mt) then mt_free(mt);
end
end;
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 2testmulti.png [53.2KB] [551], for10000.png [13.4KB] [551]
Ответов: 16884
Рейтинг: 1239
#122: 2011-07-31 14:21:48 ЛС | профиль | цитата
Вот так у меня выигрыш по скорости >20%.
mytest.png
хотя это никому не интересно, но на всякий случай вот компонент
multiblockfindm.rar

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 2multiblockfindm.rar [2.2KB] [226], mytest.png [13.7KB] [475]
Ответов: 3349
Рейтинг: 233
#123: 2011-07-31 15:06:18 ЛС | профиль | цитата
Tad, Успокойся уже ты
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#124: 2011-07-31 16:07:26 ЛС | профиль | цитата
Ivann, не волнуйся - я спокоен.
Сервантес писал(а):
"Платон мне друг, но истина дороже"


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8888
Рейтинг: 823
#125: 2011-07-31 16:10:34 ЛС | профиль | цитата
Tad, "Я спокоен, я абсолютно спокоен, руки у меня тёплые и тяжёлые......."
карма: 19

0
Разработчик
Ответов: 26067
Рейтинг: 2121
#126: 2011-07-31 16:35:33 ЛС | профиль | цитата
Tad писал(а):
но на всякий случай вот компонент

Вот и оставь его себе. Надоело уже
карма: 22

0
Ответов: 3349
Рейтинг: 233
#127: 2011-07-31 17:08:01 ЛС | профиль | цитата
[flood]
nesco писал(а):
Вот и оставь его себе. Надоело уже

Чего это вы все такие нервные [/flood]
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#128: 2011-07-31 17:54:39 ЛС | профиль | цитата
Ivann, [flood]обычная реакция авторов на замечания.
Попробуй сказать матери, что её дитя дефектное. [/flood]
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26067
Рейтинг: 2121
#129: 2011-07-31 23:33:45 ЛС | профиль | цитата
Tad, надо уметь вовремя остановиться, иначе -- процес совершенствования бесконечен. Или как в том анекдоте про программиста, дитя и солнце -- заходит и восходит... каждый день... ничего не трогай
карма: 22

0
129
Сообщение
...
Прикрепленные файлы
(файлы не залиты)