WHILE в FB 2.5

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
VerLeon
Сообщения: 44
Зарегистрирован: 24 ноя 2007, 08:43

WHILE в FB 2.5

Сообщение VerLeon » 27 ноя 2008, 09:38

Здравствуйте, уважаемые!
Это опять я и опять с проблемой на FB 2.5
Похоже в нем как-то сломали цикл WHILE ... DO
Т.е. работать-то он работает, но очень медленно.
Для примера сделал тупую процедурку:

Код: Выделить всё

create procedure while_test
as
declare variable v_count integer;
begin
  v_count = 0;
  while (v_count < 1000000) do begin
    v_count = v_count+1;
  end
end
На IB 7.5 и на FB 2.1.1 она выполняется около 0.7 секунды, на FB 2.5 - почти 6 секунд.
Смотрел на билдах 21381 и 21454 (от Реактора).

Вообще конечно while'ы - зло и там где я напоролся у себя на неожиданные тормоза он оказался вообще лишним, так что спасибо за подсказку, но иногда без них все-таки не обойтись :)

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Re: WHILE в FB 2.5

Сообщение hvlad » 27 ноя 2008, 11:23

Однозначно - DEBUG build.
У меня release выполняет этот цикл за .47 сек, тогда как debug - за 5.8

VerLeon
Сообщения: 44
Зарегистрирован: 24 ноя 2007, 08:43

Re: WHILE в FB 2.5

Сообщение VerLeon » 27 ноя 2008, 11:39

Ага, понятно, спасибо.
У Реактора все сборки с debug, точно

Ответить