Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Propel vs Doctrine - wynik testu - może jakiś komentarz ?
yankes
post 9.05.2010, 20:36:10
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 1
Dołączył: 13.01.2006

Ostrzeżenie: (0%)
-----


wczoraj z okazji prac nad pewnym projektem i odwiecznego pytania: Doctrine vs Propel poszukałem i znalazłem

dla potomnych: http://code.google.com/p/php-orm-benchmark...unk/doctrine_12
prosty benchmark: PDO / Propel 1.4 / Propel 1.5 / Propel 1.5 ( with Cache ) / Doctrine 1.2 / Doctrine 2 / Doctrine 2 ( with Cache )

zanim zdecydujecie się samemu pogrzebać/testować pamiętajcie, że Doctrine 2 pracuje z php 5.3.2

oki.. wynik moich testów 'delikatnie' mnie zdziwił:
  1.  
  2. | Insert | findPk|complex| hydrate| with |
  3. |--------|--------|--------|--------|--------|
  4.  
  5. PDOTestSuite | 153 | 154 | 110 | 116 | 103 |
  6.  
  7. Propel14TestSuite | 1214 | 529 | 137 | 321 | 315 |
  8.  
  9. Propel15TestSuite | 1122 | 725 | 250 | 426 | 439 |
  10.  
  11. Propel15WithCacheTestSuite | 1026 | 453 | 171 | 346 | 331 |
  12.  
  13. Doctrine12TestSuite | 2168 | 3697 | 569 | 1990 | 2545 |
  14.  
  15. Doctrine2TestSuite | 189 | 503 | 426 | 1408 | 1284 |
  16.  
  17. Doctrine2WithCacheTestSuite | 203 | 543 | 137 | 769 | 431 |



z tego wynika, że bardzo popularny obecnie Doctrine 1.2 to niezły 'żółw'.....
może ktoś doda coś od siebie na ten temat ? snitch.gif bo może ja coś przeoczyłem ... wstydnis.gif

Ten post edytował yankes 9.05.2010, 22:58:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
yankes
post 15.06.2010, 20:34:12
Post #2





Grupa: Zarejestrowani
Postów: 41
Pomógł: 1
Dołączył: 13.01.2006

Ostrzeżenie: (0%)
-----


słaby to jest Doctrine i myślenie niektórych o nowościach promowanych przez Fabiena:

kawałek kodu którego użyłem to pomiary z hydracją:

  1. function runComplexQuery($i)
  2. {
  3. $authors = Doctrine_Query::create()
  4. ->from('Author a')
  5. ->where('a.id > ?', $this->authors[array_rand($this->authors)])
  6. ->orWhere('(a.first_name || a.last_name) = ?', 'John Doe')
  7. ->limit(5)
  8. ->setHydrationMode(Doctrine::HYDRATE_RECORD)
  9. ->execute();
  10. }
  11.  
  12. function runHydrate($i)
  13. {
  14. $books = Doctrine_Query::create()
  15. ->from('Book b')
  16. ->where('b.price > ?', $i)
  17. ->limit(5)
  18. ->setHydrationMode(Doctrine::HYDRATE_RECORD)
  19. ->execute();
  20. /*foreach ($books as $book) {
  21. // removing the record from the instance pool, otherwise we are not testing hydration time!
  22. $book->free(true);
  23. }*/
  24. }


jak na moje foreach jest wyraźnie zakomentowany winksmiley.jpg - a po co tam jest ? zapytaj autora skryptu, który pobierasz z SVN

druga sprawa smile.gif to czemu upieracie się żeby testować Propel ( defaultowe ustawienia - hydracja obiekt ) vs Doctrine ( hydracja do tablic ) ?

aaa i nie jest to mój test... ;] tylko ROZWAŻANIA na podstawie gotowego skryptu smile.gif

Cytat
ja nie wiem jak to testujesz bo na svenie nie ma klasy z hydracja do tablic (1.2)

zauważ, że w teście pojawiła się klasa: Doctrine12TestSuiteARRAY - której to nie ma na tym SVN-ie biggrin.gif

Ten post edytował yankes 15.06.2010, 20:36:51
Go to the top of the page
+Quote Post
murwazy
post 15.06.2010, 22:02:06
Post #3





Grupa: Zarejestrowani
Postów: 53
Pomógł: 5
Dołączył: 13.04.2007
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Cytat(yankes @ 15.06.2010, 21:34:12 ) *
słaby to jest Doctrine i myślenie niektórych o nowościach promowanych przez Fabiena:

kawałek kodu którego użyłem to pomiary z hydracją:

  1. function runComplexQuery($i)
  2. {
  3. $authors = Doctrine_Query::create()
  4. ->from('Author a')
  5. ->where('a.id > ?', $this->authors[array_rand($this->authors)])
  6. ->orWhere('(a.first_name || a.last_name) = ?', 'John Doe')
  7. ->limit(5)
  8. ->setHydrationMode(Doctrine::HYDRATE_RECORD)
  9. ->execute();
  10. }
  11.  
  12. function runHydrate($i)
  13. {
  14. $books = Doctrine_Query::create()
  15. ->from('Book b')
  16. ->where('b.price > ?', $i)
  17. ->limit(5)
  18. ->setHydrationMode(Doctrine::HYDRATE_RECORD)
  19. ->execute();
  20. /*foreach ($books as $book) {
  21. // removing the record from the instance pool, otherwise we are not testing hydration time!
  22. $book->free(true);
  23. }*/
  24. }


jak na moje foreach jest wyraźnie zakomentowany winksmiley.jpg - a po co tam jest ? zapytaj autora skryptu, który pobierasz z SVN

kawalek kodu z hydracja do obiektu a nie do tablicy, w tym rzecz.
wczesniej nie podales kodu, ktory testowales, skad mam wiedziec czy tym razem wykomentowales

Cytat(yankes @ 15.06.2010, 21:34:12 ) *
druga sprawa smile.gif to czemu upieracie się żeby testować Propel ( defaultowe ustawienia - hydracja obiekt ) vs Doctrine ( hydracja do tablic ) ?

skoro doctrine ma taki ficzer to dlaczego go nie uzywac? zwlaszcza jesli jest to szybsze rozwiazanie. po co na sile promowac propela? imho liczy sie czas wykonania zadania, skoro doctrine ma tu przewage (hydracja do tablic) to dlaczego jej nie uzywac?
propel byc moze jest szybszy we wbijaniu gwozdzi ale doctrine ma metode wiertarka winksmiley.jpg

Cytat(yankes @ 15.06.2010, 21:34:12 ) *
aaa i nie jest to mój test... ;] tylko ROZWAŻANIA na podstawie gotowego skryptu smile.gif

przyjalem do wiadomosci smile.gif

Cytat(yankes @ 15.06.2010, 21:34:12 ) *
zauważ, że w teście pojawiła się klasa: Doctrine12TestSuiteARRAY - której to nie ma na tym SVN-ie biggrin.gif

owszem, ale nie podales zrodel do ostatniego testu smile.gif
pozdrawiam

Ten post edytował murwazy 15.06.2010, 22:02:38
Go to the top of the page
+Quote Post

Posty w temacie
- yankes   Propel vs Doctrine - wynik testu - może jakiś komentarz ?   9.05.2010, 20:36:10
- - Zyx   A może byś tak jeszcze napisał, co oznaczają te cy...   17.05.2010, 18:14:43
- - yankes   Zyx: specjalnie, żeby nie było pytań o metodologię...   18.05.2010, 08:03:33
- - Zyx   Widzę, że dałeś. Sęk w tym, że nie wszyscy mają cz...   18.05.2010, 16:33:09
- - yankes   Zyx: testy były uruchamiane min 10 razy na 3 różny...   18.05.2010, 21:41:25
- - Zyx   W porządku, to może jeszcze byś odpowiedział na wą...   18.05.2010, 23:01:45
- - yankes   Zyx: wiem, że hydrację wyników do obiektów zamiast...   19.05.2010, 09:18:53
|- - stloyd   Cytat(yankes @ 19.05.2010, 11:18:53 )...   19.05.2010, 09:43:28
- - yankes   oki chyba tak .. bo tylko to znalazłem na stronie...   10.06.2010, 19:47:34
|- - murwazy   Cytat(yankes @ 10.06.2010, 20:47:34 )...   15.06.2010, 14:31:24
- - yankes   słaby to jest Doctrine i myślenie niektórych o now...   15.06.2010, 20:34:12
|- - murwazy   Cytat(yankes @ 15.06.2010, 21:34:12 )...   15.06.2010, 22:02:06
- - fifi209   Wyniki powiem, że mnie bardzo zadziwiły - myślałem...   16.06.2010, 19:33:38
- - Crozin   @fifi209: Może dlatego, że PDO nie jest ORMem?   16.06.2010, 20:22:00
|- - fifi209   Cytat(Crozin @ 16.06.2010, 21:22:00 )...   16.06.2010, 21:30:49
- - Pr0100   Cytatmyślałem, że PDO będzie na samym końcu, a tut...   16.06.2010, 23:05:06
- - xdev   PDO pewnie ma "łatkę" wolnego bo gdyby p...   17.09.2011, 20:26:47
- - javert   Czy może ktoś porównywał najnowsze wersje Propela ...   21.04.2015, 10:08:21


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2024 - 16:34