Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM

Autor wpisu: Splatch, dodany: 24.09.2006 00:29, tagi: php

Dzisiaj na wiki opisałem wszystkie znane dyrektywy konfiguracyjne generatora dla Propela 1.2 (wygląda na to, że pokrywają się one w dużej mierze z dyrektywami Propela 2.0). W najbliższym czasie opis konfiguracji projektu.

Autor wpisu: Splatch, dodany: 24.09.2006 00:01, tagi: php

Wiem, że Smarty ma równie wielu przeciwników co zwolenników, ale odcinając się od dyskusji postanowiłem polecić zarówno tym pierwszym jak i drugim artykuł na temat obsługi cache w Smarty.

Autor wpisu: Splatch, dodany: 23.09.2006 00:38, tagi: php

Zachęcony komentarzem do poprzedniego posta postanowiłem zoptymalizować cały builder dla Propela. Zasada działania jest taka sama jak wcześniej - usunięcie zbędnych iteracji. Kod generowany przez moje poprawki nie należy do najszybszych, ale z moich testów wynika jednoznacznie - jest szybszy. Szybki sposób instalacji FasterPHP5ComplexPeerBuilder.php: pobrać plik http://delta.dywicki.pl/propel/FasterPHP5ComplexPeerBuilder.php skopiować do folderu propel/engine/builder/om/php5. w build.properties dla projektu ustawić dyrektywę:

PLAIN TEXT CODE:
  1. propel.builder.peer.class = propel.engine.builder.om.php5.FasterPHP5ComplexPeerBuilder

Wskazuje ona na nazwę klasy której obiekt będzie odpowiedzialny za wygenerowanie kodu dla klasy tabeli (*Peer). Po tym wszystkim odpalamy generator z targetem om poleceniem:

PLAIN TEXT CODE:
  1. propel-gen katlog-projektu om

bądź

PLAIN TEXT CODE:
  1. phing -Dproject=nazwa -Dtarget=om

.

Pamiętaj, zmienić można o wiele więcej!

Autor wpisu: Splatch, dodany: 21.09.2006 20:16, tagi: php

Jak wiadomo szybkość nie jest domeną Propela. Dzisiejszego popołudnia na oficjalnym kanale Propela odbyłem rozmowę z osobą która twierdziła, że można przyśpieszyć propela o 3 razy (a przymajmniej metodę doSelectJoinAll). Nie zdziwcie się - miała ona rację! :)

Problem w doSelectJoinAll polega na tym, że są wykonywane zbędne iteracje mające na celu sprawdzenie czy element zawiera obiekt dołączanej encji. Można je z powodzeniem zastąpić odpowiednią mapą, która zawiera identyfikatory tych encji, które już są dodane do obiektu. Osoba, która to twierdziła miała odpowiedni kod, który zgadnijcie - zadziałał. Aby zamiana była uniwersalna - zmieniłem co trzeba w generatorze. Sama metoda działa dwa i pół raza szybciej! Dla zainteresowanych - plik zmieniony przeze mnie - PHP5ComplexPeerBuilder.php. Sprawdź czy Twoje doSelectJoinAll przyśpieszy. :)

Obecnie czasy, które uzyskuje: 0.045847177505493s - nowy build 0.06196403503418s - stary build Nie mniej wcześniej różnice były znaczne - stary build potrafił zająć do 0.12 s! Wynik prosty - po zmianach (czasy mają znacznie mniejsze wahania) można przyśpieszyć tylko tą jedną metodę o dwa razy. Różnica będzie rosła wraz z ilością kluczy obcych w jednej tabeli. Im ich więcej tym stary build będzie wolniejszy.

Autor wpisu: WojciechNaruniec, dodany: 20.09.2006 01:55, tagi: php

Zapraszam do przetestowania generatora losowych tekstów lorem ipsum. Działa on w oparciu o rozkład tekstu na krótkie sekwencje, n-gramy, w tym przypadku dwuwyrazowe. Generator losuje teksty w oparciu o standardowy tekst Lorem ipsum lub w oparciu o fragmenty Pana Tadeusza - do wyboru.

Autor wpisu: Splatch, dodany: 20.09.2006 00:41, tagi: php

Zapraszam do zapoznania się z tekstem odnośnie użycia frameworków, który opublikowałem wczoraj na wiki.

Autor wpisu: Splatch, dodany: 17.09.2006 00:57, tagi: php

Dzisiejszego popołudnia udało mi się napisać kilka zdań na temat Creole. Zaintereoswanych zapraszam do odpowiedniej kategorii na moim prywatnym wiki. Komentarze proszę umieszczać pod tym postem.

Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.