Re: Статья FIBPlus против IBX и DBExpress - сравнение скоростных характеристик или Двоих одной левой
FieldByName. В плюсах он чуть побыстрей. Если запрос очень легкий, но записей много а мы бежим по всем записям и стучим к полям через FieldByName... в общем в этом случае то самое чуть побыстрей может сложиться в цифру 30 процентов. Почему бы и нет. Понятно. Про тозмоза в FieldByName я как-то забыл. Давно уже в больших циклах на автомате вот так вот поступаю: ... var Fld : TIBXSQLVAR; ... IBSQL.ExecQuery; Fld := IBSQL.FieldByName('IdDat'); While not IBSQL.Eof do begin Sum := Sum + Fld.AsXXX; Next; end; Кстати втравился вот, написал тестик: procedure TForm1.Button1Click(Sender: TObject); var Fld : TIBXSQLVAR; i, s : Integer; st, en : Cardinal; begin s := 0; with IBSQL do begin ExecQuery; Fld := FieldByName('Id'); St := GetTickCount; for i := 0 to 100 do S := S + Fld.AsInteger; En := GetTickCount; Label1.Caption := IntToStr(En - St); St := GetTickCount; for i := 0 to 100 do S := S + Fields[0].AsInteger; En := GetTickCount; Label2.Caption := IntToStr(En - St); St := GetTickCount; for i := 0 to 100 do S := S + FieldByName('Id').AsInteger; En := GetTickCount; Label3.Caption := IntToStr(En - St); Close; end; end; Результаты : 1-ый цикл - 94 тика, 2-ой цикл -141 тик, 3-ий цикл - 4281 тик. With b/r. Gleb. --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: Статья FIBPlus против IBX и DBExpress - сравнение скоростных характеристик или Двоих одной левой
Имхо, нужно бы отзывы из этой ветки на DelphiPlus опубликовать. Во-первых новичков сорентирует, что не надо всему, что написано верить, во вторых таких вот писателей может еще и читателями сделает (ну хотя-бы немного) ... :) With b/r. Gleb.
Re: Статья FIBPlus против IBX и DBExpress - сравнение скоростных характеристик или Двоих одной левой
Мадорский Г.В. пишет: Результаты : 1-ый цикл - 94 тика, 2-ой цикл -141 тик, 3-ий цикл - 4281 тик. Привет, Глеб! Прогнал твой тест на Фибах(5.1.0): 1-ый цикл -141 тик, 2-ой цикл -203 тика, 3-ий цикл -406 тиков. Для IBX(6.05): 1-ый цикл -185 тиков, 2-ой цикл -232 тика, 3-ий цикл -4938 тиков. Поменял S := S + Fields[0].AsInteger; на S := S + StrToInt(Fields[0].AsString); Получил: Фибы: 1-ый цикл -922 тика, 2-ой цикл -985 тиков, 3-ий цикл -1203 тика. IBX: 1-ый цикл -922 тика, 2-ой цикл -984 тика, 3-ий цикл -5734 тика. Выводы: В Фибах свойство AsInteger быстрее на десяток-другой процентов. Свойство AsString - одинаково. Свойство FieldByName быстрее на порядок. -- Удачи! Shiliaev Ruslan --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: Статья FIBPlus против IBX и DBExpress - сравнение скоростных характеристик или Двоих одной левой
Serge Buzadzhy [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] ЗЫ. Прошу не счесть это за антирекламу фибплюс :) Ладно ну какой смывлс сравнивать несравнимые вещи? Разница по функционалу столь существенна может оказаться, что мне например хватает из всех ibx одного database и ibsql, а кому-то не хватит всех возможностей фибов.
Re: Статья FIBPlus против IBX и DBExpress - сравнение скоростных характеристик или Двоих одной левой
На DelphiPlus опубликована статья FIBPlus против IBX и DBExpress - сравнение скоростных характеристик или Двоих одной левой (автор Владислав Точёный). Вам бы к статьям прикрутить некое обсуждение или заметки, а то несведущий народ будет читать и слепо верить написанному. Или хотя бы свои комментарии добавлять, что думают по поводу вышеизложенного акулы IB. Уже не первый раз, насколько я помню, со статьями происходят некие курьезы. Вас все-таки многие читают, потом принимают серьезные решения...
Re: Статья FIBPlus против IBX и DBExpress - сравнение скоростных характеристик или Двоих одной левой
Serge Buzadzhy [EMAIL PROTECTED] сообщил/сообщила в новостях следующее: news:[EMAIL PROTECTED] Это как раз объяснимо легко. TpFIBQuery аналог TIBSQL. С TIBQuery надо сравнивать TFIBDataSet. Сергей привет. А вот если посмотреть на результаты теста, то получается, что TpFIBQuery работает процентов на 30 быстрее, чем TIBSQL. За счет чего добился такого повышения быстродействия? Или результаты теста некорректны? With b/r. Gleb.
Re: Статья FIBPlus против IBX и DBExpress - сравнение скоростных характеристик или Двоих одной левой
Alex Cherednichenko ... 2. Можно за фразу Доступ через ADO не рассматривался по причине слишком низкой скорости работы через ODBC драйвера я ему дам в глаз ? AK Я бы присоединился кстати ;-) В очередь! Зачем ? Там же два глаза (должно быть... если это первая такая статья... :) -- Хорсун Влад
Re: Статья FIBPlus против IBX и DBExpress - сравнение скоростных характеристик или Двоих одной левой
Andrew Holubovski wrote: На DelphiPlus опубликована статья FIBPlus против IBX и DBExpress - сравнение скоростных характеристик или Двоих одной левой (автор Владислав Точёный). Самый изумительный результат теста - после удаления триггеров и процедур в базе TIBQuery на селект заработал втрое быстрее. Воисстину - За базой бегал Афанасий (7 на 8, 8 на 7) С большим спидометром в руках - чтойта мерял (С) :) -- Regards. Ded.
Re: Статья FIBPlus против IBX и DBExpress - сравнение скоростных характеристик или Двоих одной левой
Oleg LOA wrote: если будут проблемы с производительностью, то любой нормальный проектировщик выберет решение написать старницу когда с использованием функций API. Вот заладил - API, API... Вся прогрессивная общественность скл ру давно в курсе - Blazetop работает втрое быстрое API. Ждём-с новой статьи. -- Regards. Ded.
Re: Статья FIBPlus против IBX и DBExpress - сравнение скоростных характеристик или Двоих одной левой
Мадорский Г.В. пишет: Это как раз объяснимо легко. TpFIBQuery аналог TIBSQL. С TIBQuery надо сравнивать TFIBDataSet. Сергей привет. А вот если посмотреть на результаты теста, то получается, что TpFIBQuery работает процентов на 30 быстрее, чем TIBSQL. За счет чего добился такого повышения быстродействия? Или результаты теста некорректны? FieldByName. В плюсах он чуть побыстрей. Если запрос очень легкий, но записей много а мы бежим по всем записям и стучим к полям через FieldByName... в общем в этом случае то самое чуть побыстрей может сложиться в цифру 30 процентов. Почему бы и нет.
Re: Статья FIBPlus против IBX и DBExpress - сравнение скоростных характеристик или Двоих одной левой
Boris Loboda пишет: На DelphiPlus опубликована статья FIBPlus против IBX и DBExpress - сравнение скоростных характеристик или Двоих одной левой (автор Владислав Точёный). Вам бы к статьям прикрутить некое обсуждение или заметки, а то несведущий народ будет читать и слепо верить написанному. Или хотя бы свои комментарии добавлять, что думают по поводу вышеизложенного акулы IB. Уже не первый раз, насколько я помню, со статьями происходят некие курьезы. Вас все-таки многие читают, потом принимают серьезные решения... Я бы добавил приблизительно такой комментарий. Скажем так... Фактические результаты (то бишь цифирки) может быть и правильные... Вряд ли бы автор стал их придумывать. :) Но вот интерпретация этих результатов излишне обобщена. Глядя в код можно сказать за счет чего возникает разница скоростей IBSQL и FIBQuery. Она возникает за счет употребления метода FieldByName огромное количество раз. В FIBPlus этот метод несколько побыстрей чем в других компонентах. Т.е. если бы автор теста докопался бы до этой причины, и сделали вывод именно про метод FieldByName думаю возражений ни у кого не возникло бы. Автор же сделал выводы более общие, которые мягко говоря не всегда верны. Хотя бы потому что если делать доступ через Fields[xxx] то разница будет в пределах погрешности изменений, а метод FieldByName это в общем-то ленивый и в любом случае низкоскоростной вариант, который не рекомендуется использовать в критичных по скорости местах... вне зависимости от того что используешь, фибплюс или ибх или еще что. Ну и сравнивать FIBQuery с IBQuery действительно нельзя. В первом случае при фетче заполняется всего один буфер записи причем не фибплюсами а непосредственно клиентской библиотекой. Во втором случае же случае кроме того результат фетча дополнительно копируется в еще и буфер компонента IBQuery... т.е. фактически сравниваем несравнимое. Ну и еще один вывод из вышесказанного... Характеристики железа, сервера, базы данных... все это не имеет никакого значения для результатов ЭТОГО теста. Имеет значение только исходный код теста... который в отличие от несущественных параметров не опубликован в открытую, а лишь прилагается отдельным файлом. ЗЫ. Прошу не счесть это за антирекламу фибплюс :) --~--~-~--~~~---~--~~ -~--~~~~--~~--~--~---
Re: Статья FIBPlus против IBX и DBExpress - сравнение скоростных характеристик или Двоих одной левой
Привет, Andrew! Вы пишешь 23 мая 2006: AH На DelphiPlus опубликована статья FIBPlus против IBX и DBExpress - AH сравнение скоростных характеристик или Двоих одной левой (автор AH Владислав Точёный). И все кинулись качать 58Мб чтоб убедиться, что товарищ из Армавира не гонит туфту... TIBQuery 1210,547 TpFIBQuery 332,734 В четыре раза?.. Почему не в 10? -- With best regards, Alex Cherednichenko.
Re: Статья FIBPlus против IBX и DBExpress - сравнение скоростных характеристик или Двоих одной левой
Alex Cherednichenko пишет: Привет, Andrew! Вы пишешь 23 мая 2006: AH На DelphiPlus опубликована статья FIBPlus против IBX и DBExpress - AH сравнение скоростных характеристик или Двоих одной левой (автор AH Владислав Точёный). И все кинулись качать 58Мб чтоб убедиться, что товарищ из Армавира не гонит туфту... В принципе достаточно посмотреть код. :) TIBQuery 1210,547 TpFIBQuery 332,734 В четыре раза?.. Почему не в 10? Это как раз объяснимо легко. TpFIBQuery аналог TIBSQL. С TIBQuery надо сравнивать TFIBDataSet.