🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi.bazy-danych
Article #82368

Re: ZEOS 7.2 i Delphi XE7

#82368
From: Adam Siwoń
Date: Fri, 24 Oct 2014 10:52
83 lines
5367 bytes
W dniu 2014-10-24 11:53, wloochacz pisze:
> W dniu 2014-10-24 11:42, Adam Siwoń pisze:
>> W dniu 2014-10-24 11:20, wloochacz pisze:
>>> W dniu 2014-10-24 10:57, Adam Siwoń pisze:
>>> /ciach/
>>>
>>>> Zresztą potwierdzają to wyniki podane w tym linku. Faktycznie Zeos
>>>> wypada lepiej niż FireDAC,
>>>> ale słabiej niż natywny mORMot przynajmniej
>>>> dla SQLite. Dla Oracle'a testów brak.
>>> Były testy dla Oracle na mormota, przecież...
>>
>> W starych są - podałem linka. W nowych (ten link od miaba) nie ma.
>>
>>> A nie mogę w tej chwili otworzyć tego forum bo jakoś u mnie zdechło.
>>> A w przypadku SQLLite to ja tam widziałem znaczną przewagę FD.
>>
>> FD miał przewagę na insertach - i dalej ją ma. Na odczycie Zeos był górą
>> i teraz i wtedy.
>>
>>>
>>>> Tyle, że jeśli cofniemy się do
>>>> wyników z zeszłego roku:
>>>> http://blog.synopse.info/post/2013/11/04/Updated-mORMot-database-benchmark-including-MS-SQL
>>>>
>>>>
>>>>
>>>> to już wtedy Zeos miał dużą przewagę nad FireDACiem. A teraz w
>>>> niektórych kategoriach jeszcze ją powiększył.
>>> W których konkretnie?
>>
>> Np. Firebird odczyt w trybie: By one. Nie są to spektakularne wzrosty,
>> ale jednak.
> A nie jest tak, że np. ZEOS czyta sobie wiersz po RDB$KEY a FD zmusili
> do czytania po PK tabeli?
> I już masz wzrost wydajności odczytu - niewielki, ale jednak...

Nie wiem jak w mORMocie czyta to Zeos a jak FD. I nie mam czasu, żeby to 
sprawdzać nie mówiąc już o jakimś korygowaniu kodu. Mam informację jak 
to funkcjonuje tu i teraz. Jeśli Ty masz wiedzę, czas i możliwości, żeby 
poprawić sterownik FD dla mORMota - to wielki plus dla Ciebie.
Może to tak nie zabrzmiało, ale nikt tu nie pisze, że FD jest be. Miab 
wyraźnie stwierdził, że ma więcej funkcji, które pozwalają wycisnąć z FD 
lepszą wydajność.

>>> Poza tym, przejrzałem trochę implmentację sterownika mORMota dla FD i
>>> uważam, że jest to zrobione nieoptymalnie - zwłaszcza przy pobieraniu
>>> danych danych. Także te testy na pewno niczego nie mówią o wydajności
>>> danej bilbioteki, skoro wszystko się ściga z zaciągniętym ręcznym...
>>> Przy wykonywaniu SQL również da się to zrobić lepiej...
>>
>> Ok. To teraz musiałby się jeszcze pojawić ktoś, kto zna się na Zeosie i
>> określi czy sterownik mORMota dla Zeosa też jest napisany optymalnie.
> Nie wiem jak są napisane, ale powinien to ktoś przejrzeć - pełna zgoda.
>
>> No chyba Tobie nie trzeba tłumaczyć, że to są tylko testy i że nie
>> odzwierciedla to dokładnie sytuacji w środowisku produkcyjnym. Ale dla
>> osób, które nie będą gmerać w sterownikach mORMota i chcą mieć
>> rozwiązanie na teraz i już są one jakąś wskazówką.
> Nie do końca się zgadzam, ponieważ masz dostarczoną gotową implementację
> w mORMocie dla FD. I nie masz wpływy na to jak to się tam dzieje, tylko
> używasz. A napisane jest to w sposób - wyciągamy z pudełka i działamy;
> tyle że w FD jest mnóstwo ustawień i/lub sposobów, które mogą sprawić
> (cała sekcja FetchOptions, CursorKind, RowsetSize,
> FormatOptions.InlineDataSize to tak na szybko i prosto) że ten kod
> będzie działał po prostu lepiej.

Dokładnie. A ponieważ FD jest bogaty w takie kruczki, to nie jest łatwo 
napisać do niego wydajny sterownik.

> A używanie TADQuery do wykonywania SQL (insert, update, delete) na pewno
> nie będzie najlepszym rozwiązaniem...

Zgadza się. Ale testy mORMota określają tylko, że mORMot działa lepiej z 
Zeosem niż z FD. Tyle i nic więcej. I dla ludzi, którzy wchodzą w 
mORMota jest to ważna wskazówka. A w mORMocie podoba mi się to, że on 
praktycznie odcina Cię od bazy danych, więc jeśli w przyszłości 
sterownik dla FD będzie lepszy to można sobie zmienić bibliotekę dostępu 
do bazy danych na FD bez rewolucji w aplikacji.

-- 
z pozdrowieniami
Adam Siwoń
Technical Details
Message-ID: <544a2f78$0$11146$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <540b04eb$0$26848$65785112@news.neostrada.pl> <54479bb2$0$11149$65785112@news.neostrada.pl> <54499327$0$12638$65785112@news.neostrada.pl> <5449efbb$0$12626$65785112@news.neostrada.pl> <544a08fc$0$11141$65785112@news.neostrada.pl> <544a147d$0$12628$65785112@news.neostrada.pl> <544a1a01$0$12630$65785112@news.neostrada.pl> <544a1efb$0$18074$65785112@news.neostrada.pl> <544a21a5$0$12621$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Date: Fri, 24 Oct 2014 12:52:40 +0200
From: Adam Siwoń <traptak@poczta_no_spaam.onet.pl>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
Newsgroups: pl.comp.lang.delphi.bazy-danych
Subject: Re: ZEOS 7.2 i Delphi XE7
References: <540b04eb$0$26848$65785112@news.neostrada.pl> <54479bb2$0$11149$65785112@news.neostrada.pl> <54499327$0$12638$65785112@news.neostrada.pl> <5449efbb$0$12626$65785112@news.neostrada.pl> <544a08fc$0$11141$65785112@news.neostrada.pl> <544a147d$0$12628$65785112@news.neostrada.pl> <544a1a01$0$12630$65785112@news.neostrada.pl> <544a1efb$0$18074$65785112@news.neostrada.pl> <544a21a5$0$12621$65785112@news.neostrada.pl>
In-Reply-To: <544a21a5$0$12621$65785112@news.neostrada.pl>
Lines: 84
Message-ID: <544a2f78$0$11146$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 80.53.227.122
X-Trace: 1414147960 unt-rea-a-02.news.neostrada.pl 11146 80.53.227.122:48631
X-Complaints-To: abuse@news.neostrada.pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit