Na základě vašich připomínek jsem doplnil test SINGLE SELECT, který čte velký počet DB řádků z jedné tabulky. Dále jsem doplnil test zvaný EMPTY SELECT pro opakované dotazování nad tabulkou s prázdným výsledkem. Žádný z uvedených testů nereprezentuje zpravidla chování reálného serverového řešení a bezpochyby ani ten původní test (MULTI SELECT) není optimální.
Akce | UJO-ORM | Hibernate |
---|---|---|
SINGLE SELECT | 0.500 sec | 0.833 sec |
EMPTY SELECT | 1.305 sec | 155.066 sec |
MULTI SELECT | 21.715 sec | 172.258 sec |
Výsledky naznačují, že úzkým hrdlem Hibernate může být parsování HQL dotazu. Připomínám, že případné zapnutí "Hibernate Query Cache" bude významné jen pro případ stejných parametrů dotazu.
Odkaz na aktualizované testy je zde.
Pavel
29 komentářů:
Zde jsou mé výsledky Vašich testů Hibernatu před a po optimalizaci:
před:
TIME - META-DATA: 1.765
TIME - INSERT: 9.75
TIME - SINGLE SELECT 14000: 0.719
TIME - EMPTY SELECT 2000: 115.953
TIME - MULTI SELECT 14000: 117.844
TIME - DELETE: 112.062
po:
TIME - META-DATA: 1.703
TIME - INSERT: 8.093
TIME - SINGLE SELECT 14000: 0.579
TIME - EMPTY SELECT 2000: 1.125
TIME - MULTI SELECT 14000: 1.531
TIME - DELETE: 2.109
Radek
Dobrý den, Radku,
děkuji za příspěvek. Pokud budete mít zájem, mohu vaše optimalizované testy Hibernate zařadit k ostatním testům v SVN repository.
V opačném případě budu rád za nějaký popis optimalizace.
Díky
Pavel
Dobrý den,
omlouvám se, mohl jsem to alespoň jednou větou okomentovat.
Nejde o nic složitého, poněvadž se sám Hibernate učím. Jde o to, jak Hibernate vnitřně funguje. Tedy v případě SQL dotazů funguje Hibernate tak, že před každým SQL dotazem synchronizuje persistent contex s databází. Tedy je volána metoda flush třídy session. Aby jsme změnili takového chování a SQL dotazy se provedli jako jedna transakce musíme nastavit session.setFlushMode(FlushMode.COMMIT).
Je tedy i otázkou, jak se chová UJO framework, abychom mohli poměřovat výkon těchto frameworků.
S pozdravem
Radek
Ujorm provolává, s výjimkou relace many-to-one, všechny dotazy přímo přes JDBC a tak to vypadá, že chování obou frameworků nebude v testu úplně ekvivalentní.
Jinak díky za zajímavé informace, vyzkouším si to.
generic xanax xanax online consultation - xanax dosage extended release
buy tramadol online tramadol 50mg capsules uses - tramadol hcl ultram 50 mg
buy tramadol online order tramadol online no prescription overnight - tramadol withdrawal valium
generic xanax generic xanax mylan a4 - sertraline xanax drug interactions
buy tramadol online order tramadol online no rx - buy tramadol valium online
buy tramadol online tramadol hcl tab 50mg side effects - tramadol extended release tablets dosage
generic xanax long do effects 2mg xanax last - xanax overdose grams
buy tramadol online buytramadol.eu - tramadol withdrawal leg cramps
cialis no rx cialis daily in usa - cialis reviews for bph
buy cialis online cialis online with mastercard - cialis 20 mg
xanax online buy alprazolam 2mg online no prescription - xanax during pregnancy
cialis online cialis versus levitra - buy cialis discount online
xanax for anxiety klonopin or xanax for anxiety - side effects xanax extended release
cialis online buy cialis online mastercard - cialis online prescription
cialis sale cialis moment - generic cialis 30
http://landvoicelearning.com/#51438 tramadol ls 100 mg - can you buy tramadol over the counter
buy tramadol overnight tramadol dosage dogs 50 mg - tramadol 50 mg sleep
buy tramadol online what does tramadol generic look like - tramadol dosage dogs pain
buy tramadol tramadol hydrochloride 50mg for dogs - tramadol for fibromyalgia
buy tramadol tramadol 50mg for dogs usa - best place order tramadol online
tramadol generic tramadol for dogs taken by humans - tramadol overdose serotonin
buy tramadol online tramadol dosage small dogs - order tramadol from usa
buy tramadol tramadol online with no prescription - buy tramadol store
buy ativan online ativan where to buy - ativan 20mg
buy ativan online buy ativan tablets - buying ativan online-no prescription
Okomentovat