Wpis z mikrobloga

jakby ktoś chciał sprwadzić wydajność ORM w różnych frameworkach/bibilotekach w #php to tutaj znajomy ze slacka zrobił forka swojego orm benchmarka https://github.com/zyxep/php-orm-benchmark zaktualizowane wersje, php7 itp #phalcon #webdev #symfony #doctrine #laravel #yii
https://github.com/zyxep/php-orm-benchmark/tree/master/docker pod tym adresem same wyniki jakby ktoś chciał sprawdzić jak to wygląda na najnowszych wersjach i php 7
  • 25
@MacDada: w innych frameworkach też używają bez keszowania, ehhh, co ma cache do rzeczy jak pobierasz jeden rekord ? XD ten cache przyda się dopiero przy kolejnych zapytaniach, top kek
w innych frameworkach też używają bez keszowania


@Jurigag: Nie za bardzo ogarniam inne, więc ciężko mi powiedzieć co tam robią źle. Gdzieś powinni też dorzucić?

ehhh, co ma cache do rzeczy jak pobierasz jeden rekord ? XD ten cache przyda się dopiero przy kolejnych zapytaniach


@Jurigag: Mówię o keszu metadanych. Doctrine parsuje komentarze przy encjach, co zżera czas. Oni to ujmują w benchmarku, gdzie w realnej applikacji nigdy to się
@MacDada: ale przecież przy pierwszym załadowaniu aplikacji i tak musi to być wykonane to parsowanie żeby wylądowało to w cacheu, także jeśli jest to xxx zapytań w czasie JEDNEGO requesta to nie ma to znaczenia :O :O :O

chociażby w phalconie też jest cachowanie metadanych, tylko że nie ma to znaczenia przy xxx liczbie zapytań wykonywanych pierwszy raz

cache annotacji ma jakikolwiek wpływ w doctrine/symfony dopiero przy następnych requestach, za 1
ale przecież przy pierwszym załadowaniu aplikacji i tak musi to być wykonane to parsowanie żeby wylądowało to w cacheu


@Jurigag: Zgadza się.

także jeśli jest to xxx zapytań w czasie JEDNEGO requesta to nie ma to znaczenia :O :O :O


W czasie jednego requesta nie ma znaczenia, bo w ogóle to nie następuje. O to chodzi, że zaburza to wynik testu. W normalnej aplikacji nie wpływa to na jej wydajność, bo
@MacDada: ale przecież inne frameworki tutaj też pobierają metadane czy to z annotacji czy prosto z bazy(INFORMATION_SCHEMA, jak np phalcon), w przypaadku phalcona są tutaj robione jeszcze dwa dodatkowe zapytania w tym benchmarku - na metadane z Posta oraz Commenta
ale przecież inne frameworki tutaj też pobierają metadane czy to z annotacji czy prosto z bazy(jak np phalcon)


@Jurigag Jeśli tak, to jest to błąd testu albo bezsensowny test.

Tzn jeśli specjalnie tak robią, to dla mnie bezsensowny test, bo w realnej appce (mam nadzieję) inne ORMy też keszują takie rzeczy. A jeśli twórca testu o tym nie wie, to test do poprawki.

Pisałem przecież wcześniej: „Nie za bardzo ogarniam inne, więc
@MacDada: nie trzyma metadanych w bazie tylko pobiera je z tabeli INFORMATION_SCHEMA, ehh i sobie mozesz dodać po prostu cache metadanych i tyle

czemu błędny test niby ? wg mnie wszystko jest ok ( ͡° ʖ̯ ͡°) po prostu pokazuje w 100% test bez żadnych cacheów sreszów
nie trzyma metadanych w bazie tylko pobiera je z tabeli INFORMATIONSCHEMA, ehh


@Jurigag: Edytowałeś swój komentarz, bo jak odpisywałem, to jeszcze tego nie było.

Tak czy inaczej, mój komentarz jest dalej aktualny. Z każdym żądaniem Phalcon robi dodatkowe zapytanko do bazki o INFORMATIONSCHEMA?
no jak nie ustawisz aby cacheowało metadane to domyślnie tak ( ͡° ʖ̯ ͡°)


@Jurigag: Jak się domyślam, jest to zalecane w dokumentacji + w realnych appkach ustawia się ten kesz.

W związku z czym, benchmark moim zdaniem nie powinien tego obejmować.
powinien co najwyżej dodać jak wychodzą wersje z cachem i tyle


@Jurigag: To też opcja. W każdym razie bez kesza metadanych, w przypadku Doctrine (nie wiem jak u innych) moim zdaniem ten benchmark jest bez sensu – bo obejmuje etap deploya, a nie realne użycie.
@MacDada: jest gdzieś o tym robieniu cachea dla dcotrine przy deployu i aby korzystał z niego ? bo nigdy się tym nie interesowałem i w aplikacji na symfony cache generuje mi się w czasie requesta
@Jurigag: Trochę jak przy benchmarkowaniu Photoshopa na OSX i Windows. Załóżmy, że chcemy zmierzyć czas uruchamiania się Photoshopa.

Jak test obejmuje czas od kliknięcia ikonki Photoshopa do pojawienia się czystego okna => benchmark spoko. Mówi nam, jak szybko realnie ktoś odpali Photoshopa pod danym systemem.

Ale można też zmierzyć czas od uruchomienia komputera, przez kliknięcie ikonki, do czystego okna. Tyle, że ja mam aktualnie uptime 22 dni, a Photoshopa odpalałem co