Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [skrypt] PHP Hypercacher - nowy cacher do skryptów PHP
Forum PHP.pl > Inne > Oceny
Stron: 1, 2
nospor
Cytat
Ja nie umiem znaleźć "złotego środka". Dla mnie albo coś jest fajne, albo jest SHITem.

Wow, no chlopie, masz powazne problemy.

Cytat
Więc jeżeli mówisz że mój skrypt nie jest fajny, to widocznie jest SHITem.
Gdzie napisalem ze nie jest fajny? Napisalem ze ma pare luk tongue.gif

Rozmowa z Tobą to nie jest rozmowa. Jestes bardzo skrajną osobą i albo mozna cie wychwalac pod Niebiosa a jak nie to mozna tylko mowic źle bo sam tego wymagasz blinksmiley.gif Wbrew pozorom nie przyjmujesz konstruktywnej krytyki. Ile ty masz lat? Zachowujesz sie jak małolat, choc widzialem juz na forum powazniejszych od Ciebie malolatow.

Skoro uwazasz wiec ze Twoj projekt to shit to na grzyba go wogole oceniac? Pod oceny oddaje sie sensowne prace. Skoncz wiec z blaznowaniem, stonuj troche, nie podniecaj sie tak bo normalnie ci to szkodzi. Przed napisaniem posta wypij szklanke zimnej wody, a jak to nie pomoze to wypij nastepną. smile.gif
SoofMan
Cytat(nospor @ 23.04.2007, 09:49:05 ) *
Wow, no chlopie, masz powazne problemy.

Gdzie napisalem ze nie jest fajny? Napisalem ze ma pare luk tongue.gif

Rozmowa z Tobą to nie jest rozmowa. Jestes bardzo skrajną osobą i albo mozna cie wychwalac pod Niebiosa a jak nie to mozna tylko mowic źle bo sam tego wymagasz blinksmiley.gif


No mówiłem że jestem inny.

Ale faktycznie - na początku tak po mnie jeździliście, że nie wiedziałem jak się zachować.

Cytat(nospor @ 23.04.2007, 09:49:05 ) *
Wbrew pozorom nie przyjmujesz konstruktywnej krytyki.


Jak to nie ?

DEVNULL napisał - nie ma komentarzy: Dodałem komentarze.
DEVNULL napisał - komentarze są debilne: Wywaliłem debilne komentarze.
Na PHP FUSION ktoś napisał - MD5 jest szybsze: Wywaliłem SF_HASH i wrzuciłem MD5.

Czyli nie tylko przyjmuję krytykę, ale i wprowadzam odpowiednie zmiany w życie...


Cytat(nospor @ 23.04.2007, 09:49:05 ) *
Ile ty masz lat? Zachowujesz sie jak małolat, choc widzialem juz na forum powazniejszych od Ciebie malolatow.


Mam 24 lata, ale nie zachowuję się tak jak gdybym tyle miał.

Cytat(nospor @ 23.04.2007, 09:49:05 ) *
Skoro uwazasz wiec ze Twoj projekt to shit to na grzyba go wogole oceniac? Pod oceny oddaje sie sensowne prace.


Bo wszyscy tak mnie atakujecie, więc zakładam że to shit.
Nikt nie powie nic a'la "Słuchaj Soofman, to jest fajna sprawa"

Tylko wszyscy krytykują i krytykują, więc proporcje krytyki i pochwał są zdecydowanie w stronę krytyki ->> czyli widocznie projekt jest do niczego.

Cytat(nospor @ 23.04.2007, 09:49:05 ) *
nie podniecaj sie tak bo normalnie ci to szkodzi. Przed napisaniem posta wypij szklanke zimnej wody, a jak to nie pomoze to wypij nastepną. smile.gif


Z tym to będzie problem.

Cytat(menic @ 23.04.2007, 09:35:50 ) *
A sam skrypt jak juz to przyda sie do mało dynamicznych stron, gdzie zawartosc rzadko sie zmienia.


Tak, ale modyfikacja Refresher może też przydać się do stron gdzie zawartość częściej się zmienia. Co prawda nie będzie to tak szybkie jak wersja bazowa, ale jakieś przyśpieszenie powinno być widoczne.
ActivePlayer
Dobra, koniec rozmów na temat inności SoofMan'a. Każdy post nie na temat będe odpowiednio nagradzał. Przekopać sie przez te tony samokrytyki i krytyki jego osoby to nie lada zadanie.
nospor
Cytat
Jak to nie ?

DEVNULL napisał - nie ma komentarzy: Dodałem komentarze.
DEVNULL napisał - komentarze są debilne: Wywaliłem debilne komentarze.
Na PHP FUSION ktoś napisał - MD5 jest szybsze: Wywaliłem SF_HASH i wrzuciłem MD5.

Czyli nie tylko przyjmuję krytykę, ale i wprowadzam odpowiednie zmiany w życie...

No ba, ale przy okazji zaczynasz szalec emocjonalnie i to w zly kierunku.

Cytat
Z tym to będzie problem.
To zamiast wody moze byc cola winksmiley.jpg

Cytat
Bo wszyscy tak mnie atakujecie, więc zakładam że to shit.
Nikt nie powie nic a'la "Słuchaj Soofman, to jest fajna sprawa"
Jakbys zalozyl topic cos na ten styl:
"Witam, oddaje wam pod ocene cacher. Jak sama nazwa wskazuje sluzy do cachewoania a co za tym idzie przyspieszenia kodu. Prosze o opinie" To ludzie by podeszli do ciebie normalnie. Ale jak ty wyjechal z uwielbieniem siebie i projektu na samym poczatku i dalej zreszta tez, to sie nie dziw ze taka reakcja jest. Wiem, wiem, podniecasz sie wspanialymi rzeczami. Ale to ty stwierdziles ze twoj cacher jest wspanialy a nie my. pozatym patrz punkt wyzej o szklance zimnej wody winksmiley.jpg

Cytat
Tak, ale modyfikacja Refresher może też przydać się do stron gdzie zawartość częściej się zmienia. Co prawda nie będzie to tak szybkie jak wersja bazowa, ale jakieś przyśpieszenie powinno być widoczne.
No tutaj to chyba troche ludziska zapomnieli o wersji refresher, ktora sluzy do bardziej dynamicznych stron. Ale ja tu tylko sprzatam smile.gif

edit: ooops, zaraz zarobie od ActivePlayera sad.gif
SoofMan
Cytat(nospor @ 23.04.2007, 10:08:35 ) *
Jakbys zalozyl topic cos na ten styl:
"Witam, oddaje wam pod ocene cacher. Jak sama nazwa wskazuje sluzy do cachewoania a co za tym idzie przyspieszenia kodu. Prosze o opinie" To ludzie by podeszli do ciebie normalnie. Ale jak ty wyjechal z uwielbieniem siebie i projektu na samym poczatku i dalej zreszta tez, to sie nie dziw ze taka reakcja jest. Wiem, wiem, podniecasz sie wspanialymi rzeczami. Ale to ty stwierdziles ze twoj cacher jest wspanialy a nie my. pozatym patrz punkt wyzej o szklance zimnej wody winksmiley.jpg


Hmmm.... OK.

Ale zmiana tego tematu niewiele da - na mojej stronce i tak jest "content reklamowy" i jak ktoś go przeczyta, to będzie taka sama reakcja...

A contentu reklamowego nie zmienię, bo reklama to reklama. Z resztą wszystko co tam jest napisane to prawda.

----------------------------------------
Dziwne jest to wszystko... Nie można nic powiedzieć że się zrobiło coś co wydaje się fajne, bo zaraz się ludzie na ciebie rzucą jak głodne sępy na ochłap mięsa...

Dla mnie to jest naturalne że mówię o wszystkim tak jak to widzę bez owijania w bawełnę... jestem szczery i otwarty. Nie wiedziałem że to może sprawić tyle problemów...
ActivePlayer
Ok, Koniec. SoofMan jak przygotujesz jakiś merytoryczny post na temat, odpowiadający na pytania forumowiczów dotyczące skryptu to wyślij mi informacje na PW. Do tego czasu zamykam temat. Twoja osoba zapewne jest interesująca, aczkolwiek proponuje otworzyć sobie temat na hydeparku, a dział oceny pozostawić skryptom.

Cytat
Cytat("nospor)

Chwalisz sie tak ze spedziles kilkaset godzin na optymalizacje skryptu, ze wszystko badales tyle razy a tu takie klocki:

Kod
<?php
$cr="$dr/_ctrl";
$mf="$cr/.mt";

$sf_cidx="9v/e:Ona";
$c2="Ej9A%&Q3";

$m="INFO: Cache outdated - generating new (10)";

//i wiele innych :)
?>


Ekspertom od optymalizacji chyba nie musze mowic ze mozna to bylo zapisac szybciej winksmiley.jpg


Zgadzam się. Wprowadziłem więc modyfikacje które zasugerowałeś w życie.

Do pobrania jest nowa developerska paczka dzisiejsza - (2007-04-28) z nowymi wersjami skryptów:
- Hypercacher Standard 1.920
- Hypercacher Refresher Standard 1.0 RC1
.

Zawiera m. in. następujące zmiany:
- Wszystkie double quotes (") które się da zamieniłem na szybsze single quotes (')
- Użycie funkcji file_get_contents() zamiast fopen() ... fread() .. fclose().
- Minimalna Wersja PHP 4.3.0 (Uznałem że skoro ta wersja PHP ma już około 3 lata, to można spokojnie przejść na funkcje, które weszły dopiero w tej wersji - tzn. file_get_contents() )
- Hypercacher używa teraz STAŁYCH zamiast zmiennych do przechowywania krytycznych danych, co znacznie zwiększyło kompatybilność z różnymi CMSami (np. Joomlą z włączoną funkcją ochronną REGISTER GLOBALS OFF EMULATION)

Pełne CHANGELOGi:
http://hypercacher.com/changelog_standard.txt
http://hypercacher.com/changelog_refresher_standard.txt



_____
Temat otwieram na prośbę autora. W razie jakichkolwiek dyskusji nie związanych z tematyką tego wątku będę odpowiednio nagradzał.
SoofMan
Aktualizacja:

1. Przepraszam za problemy z pobieraniem paczki developerskiej z w wersji [2007-04-28]. Zapomniałem wrzucić pliku na serwer. Problem został już naprawiony.

Ci, którym wcześniej nie udało się pobrać paczki developerskiej z dnia 2007-04-28, mogą to zrobić teraz smile.gif.

2. W związku z ostatnimi wydarzeniami:

http://dobreprogramy.pl/index.php?dz=15&n=6432
i
http://dobreprogramy.pl/index.php?dz=15&n=6277

Nastąpiła niewielka zmiana licencji. Przenoszę mój projekt z licencji "GPL w wersji 2" na "GPL w wersji 2 lub późniejszej". Co wiąże się z tym, że w momencie wydania "stabilnej", trzeciej wersji licencji GPL, mój projekt automatycznie na nią przejdzie.

Nie będą korporacje pluć nam w twarz biggrin.gif
UDAT
Przejrzałem kod i mam parę uwag (abstrahując od zysków wydajnościowych):
1. Po uruchomieniu dostaję trochę komunikatów
Kod
Notice: Use of undefined constant sf_fdec1 - assumed 'sf_fdec1' in /home/UDAT/php_hypercacher_standard_v1.920_DEV.php on line 22
Notice: Use of undefined constant sf_dnchx - assumed 'sf_dnchx' in /home/UDAT/php_hypercacher_standard_v1.920_DEV.php on line 34
Notice: Use of undefined constant sf_cltx - assumed 'sf_cltx' in /home/UDAT/php_hypercacher_standard_v1.920_DEV.php on line 142


Zamiast if(sf_dnchx<1) użyj defined" title="Zobacz w manualu PHP" target="_manual('sf_dnchx')
2.
  1. <?php
  2. if(sf_fdec1<1){ //Check if the function was previously declared - this is for situation where PHP Hypercacher code is placed many times in one sc
    ript
  3. [ciach]
  4.  define('sf_fdec1',1); //Notify other PHP Hypercacher scripts (if there are some more in this PHP script) than this function is already declared, so they won't do it again and cause CRITICAL ERROR
  5. }
  6. ?>


Nie mógłbyś użyć function_exists" title="Zobacz w manualu PHP" target="_manual?

3. Zamiast $_GET I $_POST możesz użyć $_REQUEST, a także zamiast
  1. <?php
  2. $vh=var_export($_GET,true).var_export($_POST,true);
  3. ?>

i kolejnych
  1. <?php
  2. strpos($vh,$poszukiwany_string)
  3. ?>


sprawdzaj za pomocą in_array" title="Zobacz w manualu PHP" target="_manual lub isset" title="Zobacz w manualu PHP" target="_manual($_REQUEST[$poszukiwany_string] ) w zależności gdzie chcesz szukać tych "parametrów"

4. Na samym końcu masz:
  1. <?php
  2. if(sf_dnchx<1){ //If cache is ON, then add debug message saying that cache is ON
  3. $m.='CH_ON, '.$j;
  4. }
  5. else{ //If cache is OFF, then add debug message saying that cache is OFF
  6. $m.='CH_OFF, '.$j;
  7. } 
  8.  
  9. if($m) echo // itd.
  10. ?>


W każdym wypadku $m w ostatniej linii jest ustawione na stringa, tak więc zawsze if(m) będzie spełnione

5. Czemu wychodzisz z błędnego założenia, że wszyscy chcą mieć na samym końcu stopkę do twojego skryptu, jeśli są takie wymagania licencyjne nie prościej byłoby pozostawić decyzję co do umiejscowienia linku zwrotnego programiście? Wymuszasz w ten sposób modyfikację skryptu przez potencjalnych użytkowników, chcących zachować jakieś standarty HTML'a czy XHTML'a.

6. Nie mógłbyś używać jakiś normalnych nazw zmiennych, jeśli chcesz użyj phpHypercacher_cacheRefreshTime, ale nie $vt, bo to strasznie zmniejsza czytelność kodu

@SoofMan: Pytałeś czemu nikt tego wcześniej nie napisał? Otóż napisał zobacz jpCache - ten sam pomysł, może też cache'ować w MySQL'u. Bardzo dawno nie używałem.
Mam nadzieję, że były to konstruktywne uwagi i nie zostaną odczytane jako próbę zmieszania Ciebie z błotem
Fuzja
Jeszcze tylko taki mały ot: zdecydowanie przesadzasz z manifestowaniem tego, że Twój skrypt jest na lincencji GPL i że wszystko co z microsoftu jest złe, a linux/unix to chodzące cuda.
UDAT
@SoofMan: Czemu nie zamkniesz funkcjonalności swojego skryptu w klasę, konfigurowalną przez np. settery, umożliwiając keszowanie nie tylko całych stron, ale i elementów?
SoofMan
Cytat(UDAT @ 30.04.2007, 10:57:42 ) *
Mam nadzieję, że były to konstruktywne uwagi i nie zostaną odczytane jako próbę zmieszania Ciebie z błotem


Skądże znowu. Twoje uwagi uważam za niezwykle cenne i większość z nich mam zamiar wprowadzić w życie. Patrz niżej.


Cytat(UDAT @ 30.04.2007, 10:57:42 ) *
Przejrzałem kod i mam parę uwag (abstrahujując od zysków wydajnościowych):
1. Po uruchomieniu dostaję trochę komunikatów
Kod
Notice: Use of undefined constant sf_fdec1 - assumed 'sf_fdec1' in /home/UDAT/php_hypercacher_standard_v1.920_DEV.php on line 22
Notice: Use of undefined constant sf_dnchx - assumed 'sf_dnchx' in /home/UDAT/php_hypercacher_standard_v1.920_DEV.php on line 34
Notice: Use of undefined constant sf_cltx - assumed 'sf_cltx' in /home/UDAT/php_hypercacher_standard_v1.920_DEV.php on line 142


Zamiast if(sf_dnchx<1) użyj defined" title="Zobacz w manualu PHP" target="_manual('sf_dnchx')


Hmmmm.... Wtedy będę musiał sprawdzać dwa warunki zamiast jednego. Najpierw defined() a potem jeszcze sprawdzenie czy (sf_dnchx<1). Sprawdzanie tylko czy coś jest zdefiniowane chyba nie będzie dobrą praktyką.

A czy sprawdzanie dwóch warunków nie będzie wolniejsze od sprawdzania jednego questionmark.gif Chyba muszę przeprowadzić benchmarki.

Cytat(UDAT @ 30.04.2007, 10:57:42 ) *
2.
  1. <?php
  2. if(sf_fdec1<1){ //Check if the function was previously declared - this is for situation where PHP Hypercacher code is placed many times in one sc
    ript
  3. [ciach]
  4.  define('sf_fdec1',1); //Notify other PHP Hypercacher scripts (if there are some more in this PHP script) than this function is already declared, so they won't do it again and cause CRITICAL ERROR
  5. }
  6. ?>


Nie mógłbyś użyć function_exists" title="Zobacz w manualu PHP" target="_manual?


W mordę. Że też na to nie wpadłem. W innych skryptach używam function_exists(), ale jakoś dziwnie tutaj nie przyszło mi do głowy.

Propozycja będzie wdrożona w jednej z następnych wersji


Cytat(UDAT @ 30.04.2007, 10:57:42 ) *
3. Zamiast $_GET I $_POST możesz użyć $_REQUEST, a także zamiast
  1. <?php
  2. $vh=var_export($_GET,true).var_export($_POST,true);
  3. ?>

i kolejnych
  1. <?php
  2. strpos($vh,$poszukiwany_string)
  3. ?>


To akurat było już proponowane.

Niestety nie da się tak. Musi istnieć rozróżnienie między przenoszeniem wartości w polach GET i POST. Przecież w jakimś skrypcie strona może wyświetlać się odmiennie w zależności czy jakaś wartość jest w tablicy GET czy POST.


Cytat(UDAT @ 30.04.2007, 10:57:42 ) *
sprawdzaj za pomocą in_array" title="Zobacz w manualu PHP" target="_manual lub isset" title="Zobacz w manualu PHP" target="_manual($_REQUEST[$poszukiwany_string] ) w zależności gdzie chcesz szukać tych "parametrów"


To było już proponowane. Zastanawiam się nad tym i myślę że wdrożę to w jednej z następnych wersji.

Propozycja będzie wdrożona w jednej z następnych wersji


Cytat(UDAT @ 30.04.2007, 10:57:42 ) *
4. Na samym końcu masz:
  1. <?php
  2. if(sf_dnchx<1){ //If cache is ON, then add debug message saying that cache is ON
  3. $m.='CH_ON, '.$j;
  4. }
  5. else{ //If cache is OFF, then add debug message saying that cache is OFF
  6. $m.='CH_OFF, '.$j;
  7. } 
  8.  
  9. if($m) echo // itd.
  10. ?>


W każdym wypadku $m w ostatniej linii jest ustawione na stringa, tak więc zawsze if(m) będzie spełnione


100% racji, ale nie zakładam że komunikaty DEBUGgowania będą w tym skrypcie wiecznie...
Z góry zakładam że ktoś może je wyciąć. Optymalizacja optymalizacją, ale pewna funkcjonalność też powinna być zachowana...

Hmmm.... pomyślę o tym


Cytat(UDAT @ 30.04.2007, 10:57:42 ) *
5. Czemu wychodzisz z błędnego założenia, że wszyscy chcą mieć na samym końcu stopkę do twojego skryptu, jeśli są takie wymagania licencyjne nie prościej byłoby pozostawić decyzję co do umiejscowienia linku zwrotnego programiście? Wymuszasz w ten sposób modyfikację skryptu przez potencjalnych użytkowników, chcących zachować jakieś standarty HTML'a czy XHTML'a.


0. Licencja PHP Hypercachera nie wymaga ani nie nakazuje umieszczania tego linka w stopce. Jednakże byłoby mi bardzo miło gdybyś używając Hypercachera, odwdzięczył się w jakiś sposób za pracę włożoną w mój projekt.

1. Nie każdy zawsze pamięta o tym żeby dodać linka do stopki swojej strony, a nawet wielu ludzi nie zrobi tego ze zwykłego lenistwa lub braku czasu

2. Nie każdy potrzebuje SUPER-STRICTowego HTMLa z validacją. Nie każdego to obchodzi (a większości zwykłych ludzi i webmasterów to zupełnie nie obchodzi)

3. Jak ktoś już jest programistą/webmasterem, zna się na tym i go to obchodzi to może sobie bezproblemowo wyciąć. Licencja tego nie zabrania.

4. CMS PHP Fusion działa w identyczny sposób. Standardowo wstawia linka do stopki, a jak komuś się nie podoba to może sobie wyciąć. Stąd wziąłem właśnie ten pomysł.

5. Gdybym chciał wstawić linka zgodnie z zasadami HTML, musiałbym do skryptu dodać coś takiego:
Kod
.str_replace('</body>', '[KOD HTML STOPKI HYPERCACHERA]</body>', ob_get_contents())


A to byłoby duuuużo wolniejsze, już nie mówiąc o tym że jakaś niepoprawna strona może nie mieć tagu kończącego </body> i ta metoda też zawiedzie. Więc dlatego wolę pozostawić wycięcie lub przemieszczenie kodu w inne miejsce programiście który będzie Hypercachera używał.


Cytat(UDAT @ 30.04.2007, 10:57:42 ) *
6. Nie mógłbyś używać jakiś normalnych nazw zmiennych, jeśli chcesz użyj phpHypercacher_cacheRefreshTime, ale nie $vt, bo to strasznie zmniejsza czytelność kodu


Zgadzam się. Najpierw muszę jednak napisać optymalizator skryptów, który będzie automatycznie skracał nazwy zmiennych i wycinał niepotrzebne znaki (spacje, końce linii).

Wycinanie komentarzy, spacji i końców linii żeby wyprodukować wersję "obciętą" i tak już mnie morduje czasowo, a jeszcze gdybym miał nazwy zmiennych skracać przy każdej nowej wersji, to już by mnie w ogóle zabiło... biggrin.gif. Optymalizator skryptów php jest już w drodze

Propozycja będzie wdrożona w jednej z następnych wersji



Cytat(UDAT @ 30.04.2007, 10:57:42 ) *
@SoofMan: Pytałeś czemu nikt tego wcześniej nie napisał? Otóż napisał zobacz jpCache - ten sam pomysł, może też cache'ować w MySQL'u. Bardzo dawno nie używałem.


Hmmmm.... niby trochę podobne, ale moja koncepcja bardzo się różni od jpCache...

1. Nagłówek i stopka skryptu - tego nie ma w koncepcji jpCache
2. Maksymalna Prostota Użytkowania i pełna automatyzacja - o jpCache tego powiedzieć nie można
3. W hypercacherze nie ma żadnych includów ani klas


Cytat(UDAT @ 30.04.2007, 13:01:01 ) *
@SoofMan: Czemu nie zamkniesz funkcjonalności swojego skryptu w klasę, konfigurowalną przez np. settery, umożliwiając keszowanie nie tylko całych stron, ale i elementów?


Wersje przed 1.920 - bazowa i 1.0 RC1 Refresher mogą być używane wielokrotnie w kodzie (ponieważ nie używają STAŁYCH tylko zmiennych)...

A co do klasy, to jest całkiem dobry pomysł:

Propozycja będzie wdrożona w jakimś MODZie lub BRANCHu.

Niestety klasa nigdy nie będzie tak szybka jak kod wklejony do pliku, ale co zrobić...
UDAT
Cytat(SoofMan @ 30.04.2007, 13:35:05 ) *
Hmmmm.... Wtedy będę musiał sprawdzać dwa warunki zamiast jednego. Najpierw defined() a potem jeszcze sprawdzenie czy (sf_dnchx<1). Sprawdzanie tylko czy coś jest zdefiniowane chyba nie będzie dobrą praktyką.


A nie można tak:
  1. <?php
  2. if ( defined ( 'ENABLE_PHPHYPERCACHER' ) ) {
  3. ....
  4. }
  5. ?>


Cytat(SoofMan @ 30.04.2007, 13:35:05 ) *
Zgadzam się. Najpierw muszę jednak napisać optymalizator skryptów, który będzie automatycznie skracał nazwy zmiennych i wycinał niepotrzebne znaki (spacje, końce linii).


Chyba muszę Cię rozczarować, u mnie 1MB plik PHP ( prosty bo prosty ) parsuje się ok. 0.5s, a pusty plik 0.1s. Zmiana nazw zmiennych pozwoli na usunięcie znacznej ilości komentarzy (patrz przykład z define) i zwiększy rozmiar pliku najwyżej o parę bajtów ( w co wątpię ).

Trochę rachunków:
Powiedzmy, że zwiększy Ci się rozmiar pliku o 128 bajtów, czyli o (1/8192)MB, czyli czas wzrośnie o (0.4)/(1/8192), czyli o 1/32768 = 0.00003s, co daje na 32k osób przyrost czasu generowania o 1s. Czy jest to warte pisania dodatkowego kodu - wątpię.

A wycięcie komentarzy i białych spacji to masz wbudowane do PHP'a php_strip_whitespace" title="Zobacz w manualu PHP" target="_manual

Cytat(SoofMan @ 30.04.2007, 13:35:05 ) *
Niestety klasa nigdy nie będzie tak szybka jak kod wklejony do pliku, ale co zrobić...

Patrz wyżej. Kolejna sekunda na 10k odświeżeń?
menic
@UDAT: Bo wtedy bedzie wolniej działać ;-)
devnul
no ale wy uparci jesteście, przecierz kolega wyraźnie zaznaczył że ma obsesje na punkcie wycinania białych znaków, komentarzy i używania przesadnie dziwnych i krótkich nazw zmiennych. Najlepiej jakby kod był jednoliniowy biggrin.gif
SoofMan
Aktualizacja [2007-05-15] - odświeżam temat:

Wypuściłem właśnie nowe wersje Hypercachera:
- Hypercacher Standard 1.926 oraz
- Hypercacher Refresher Standard 1.015

Wszystko do pobrania jak zwykle tutaj:
http://www.hypercacher.com/download_pl.html

Wersje zwykłe i obcięte zostały przeze mnie dość dokładnie przetestowanie, jednakże w razie BUGów dobrze by było gdybyście zgłaszali je tutaj:
http://hypercacher.com/forum/viewforum.php?f=4

Wprowadziłem następujące zasugerowane wcześniej poprawki:


Cytat
1. Nie mógłbyś używać jakiś normalnych nazw zmiennych, jeśli chcesz użyj phpHypercacher_cacheRefreshTime, ale nie $vt, bo to strasznie zmniejsza czytelność kodu


Propozycja wdrożona.

Nazwy zmiennych oraz stałych w wersjach DEV zostały wydłuzone i objaśnione, tak że każda z nich opisuje dość dokładnie swoją funkcję.

Natomiast wersje "skrócone" powstały poprzez użycie mojej obcinarki na wersjach developerskich.


Cytat
2. Zamiast if(sf_dnchx<1) użyj defined('sf_dnchx')


Propozycja wdrożona częsciowo. Wdrożyłem tą sugestię tylko w przypadku stałej HCACHER_DISABLED (dawnej sf_dnchx). Nie wdrożę jej gdzie indziej, ponieważ jak już pisałem będzie to wymagało sprawdzenia dwóch warunków, ponieważ te stałe nie są sprawdzane tylko warunkiem czy są TRUE lub FALSE, ale przenoszą też wartości (w hypercacherze GZIP).

Ponieważ chcę utrzymać jeden standard w przypadku Hypercachera GZIP i zwykłego, to nie będę wdrażał odmiennych rozwiązań w żadnym z nich. Obydwa muszą działać bazując na dokładnie tej samej koncepcji, w celu zachowania 100% kompatybilności wersji bazowej z GZIP.


Cytat
3. Nie mógłbyś użyć function_exists?


Propozycja wdrożona


Cytat
4. Zamiast $_GET I $_POST możesz użyć $_REQUEST, a także zamiast


Nie mogę użyć $_REQUEST, ponieważ zawiera on oprócz GET i POST także tabelę $_COOKIE, co powoduje powstania BUGa: występowanie niepożądanych, automatyczych odświeżeń cache (sprawdzone w praktyce). Mógłbym co prawda zmienić nazwę ciasteczka "cachewalker", jednakże mimo wszystko występowanie cookies o określonej nazwie w mogłoby spowodować niepotrzebne odświeżenia cache - wolę tego uniknąć.

$_REQUEST całkowicie odpada, jako że może w określonych przypadkach całkowicie popsuć działanie Hypercachera.


Cytat
5. Zamiast strpos($vh,$poszukiwany_string) sprawdzaj za pomocą in_array lub isset($_REQUEST[$poszukiwany_string] ) w zależności gdzie chcesz szukać tych "parametrów"


Propozycja wdrożona


Cytat
6. W każdym wypadku $m w ostatniej linii jest ustawione na stringa, tak więc zawsze if(m) będzie spełnione


Propozycja wdrożona


















Stara treść posta:
---------------------------------------------------

Cytat(UDAT @ 1.05.2007, 11:50:48 ) *
A nie można tak:
  1. <?php
  2. if ( defined ( 'ENABLE_PHPHYPERCACHER' ) ) {
  3. ....
  4. }
  5. ?>


Hmmm. Można.

OK. Będzie w następnej wersji.

Cytat(UDAT @ 1.05.2007, 11:50:48 ) *
Chyba muszę Cię rozczarować, u mnie 1MB plik PHP ( prosty bo prosty ) parsuje się ok. 0.5s, a pusty plik 0.1s. Zmiana nazw zmiennych pozwoli na usunięcie znacznej ilości komentarzy (patrz przykład z define) i zwiększy rozmiar pliku najwyżej o parę bajtów ( w co wątpię ).

Trochę rachunków:
Powiedzmy, że zwiększy Ci się rozmiar pliku o 128 bajtów, czyli o (1/8192)MB, czyli czas wzrośnie o (0.4)/(1/8192), czyli o 1/32768 = 0.00003s, co daje na 32k osób przyrost czasu generowania o 1s. Czy jest to warte pisania dodatkowego kodu - wątpię.


1. Tylko że.... nie policzyłeś odczytów z dysku. 32k osób X 128 bajtów = 4MB więcej odczytu z dysku !
Już nie mówiąc że dysk jest podzielony na klastry, i odczyt z niego też jest klastrowy. Jeżeli długość pliku przekracza rozmiar klastra, to serwer musi odczytać CAŁY następny klaster (0,5KB - 1KB), co oznacza że w skrajnym przypadku serwer będzie musiał odczytać nawet 4 lub 8 RAZY więcej (32k osób X 1KB = 32MB zamiast 32k osób X 128 B = 4MB).

2. Prędkość to nie wszystko. Mam takie zboczenie na punkcie rozmiaru kodu również ponieważ kod taki dużo łatwiej wkleić do skryptu (jak mieści się w jednej linijce)... WYGODA, nie ?


Cytat(UDAT @ 1.05.2007, 11:50:48 ) *
A wycięcie komentarzy i białych spacji to masz wbudowane do PHP'a php_strip_whitespace" title="Zobacz w manualu PHP" target="_manual
Patrz wyżej. Kolejna sekunda na 10k odświeżeń?


Dzieki za podpowiedź.

1. Sprawdzałem właśnie przed chwilą działanie tej funkcji. Niestety działa gorzej od mojej własnej. Pozostawia spacje w kodzie. To niewybaczalne winksmiley.jpg
2. Niestety Nie potrafi równocześnie obcinać nazw zmiennych

Cytat(devnul @ 1.05.2007, 12:07:44 ) *
no ale wy uparci jesteście, przecierz kolega wyraźnie zaznaczył że ma obsesje na punkcie wycinania białych znaków, komentarzy i używania przesadnie dziwnych i krótkich nazw zmiennych. Najlepiej jakby kod był jednoliniowy biggrin.gif


1. Dokładnie. Mam MANIĘ na tym punkcie. BAZA Hypercachera ma być tak szybka jak to tylko jest możliwe oraz wygodna i łatwa w instalacji - wszystko inne schodzi na drugi plan.

2. Dyskusja na ten temat w zasadzie i tak jest zbędna. Powiedziałem przecież, że zgodnie z sugestią UDAT nazwy zmiennych w wersji DEV będą wydłużone w następnych release, a będę je skracał tylko za pomocą mojej "obcinarki".

3. Po to projekt jest na open source, żeby jak komuś nie będzie to odpowiadało, to zrobi sobie MODa... Ale wersja bazowa ma być "EKSTREMALNIE wyciśnięta" i zoptymalizowana na TOTALNEGO MAXA.

Ponieważ założeniem istnienia Hypercachera jest to, że kod będzie się wklejać do plików PHP, więc kod musi być wygodny w użyciu i superszybki tak żeby nie spowalniał skryptów do których jest wklejany. A żeby to było wygodne, to ten kod powinien zajmować jak najmniej i najlepiej zajmować jedną linijkę.

Patrz wyżej.
koobs
600zł za mniej niz 1kb kodu blinksmiley.gif blinksmiley.gif blinksmiley.gif blinksmiley.gif
przeciez takie cos to mniej niz 15min pisania ;|

header:
  1. <?php
  2. if( cache_file_exists( ) )
  3. {
  4. readfile( cached_file( ) );
  5. }
  6. else
  7. {
  8. }
  9. ?>



footer:
  1. <?php
  2. cache_page( ob_get_content( ) );
  3. ?>

funkcje wystarczy juz dopisac, dodatkowo w cache_file_exists dodac sprawdzanie rozmiaru $_POST i tworzyc cache na podstawie URI_REQUEST

napisalem to w 3min ;]
SoofMan
Cytat(koobs @ 24.06.2007, 22:57:18 ) *
przeciez takie cos to mniej niz 15min pisania ;|
napisalem to w 3min ;]


1. Właśnie zdecydowałem że dorzucę do tego jeszcze 2 miesiące wsparcia technicznego.

2. Poprawka:

Nie 600 zł za 15 minut pisania, tylko 600 zł za unikalny patent, sekret "jak to działa", nad którym myślałem kilka dni, wdrażałem (pierwszy test na nowebiuro.pl) kilka godzin + potem jeszcze kilkanaście razy po kilka godzin, i poprawiałem błędy przez pół roku.

Hmmm.... przez 10 lat rozwoju PHP żaden mało, średnio ani bardzo-zaawansowany programista na to nie wpadł, a przecież TO TAKIE PROSTE exclamation.gif...

Hmmm ... ? Powiedz mi - Jak to jest możliwe ? Przecież to istna obraza osobista dla tych programistów - skoro to takie proste, to czemu żaden z tych speców na to nie wpadł questionmark.gifquestionmark.gif

Oczywiście jest też druga opcja - to wcale nie jest takie proste.

Dłuuuuuuuuuuuugo myślałem zanim doszedłem jak to zrobić żeby działało szybko, sprawnie, bezproblemowo i w każdych warunkach.

600 zł za duże oszczędności, za prostotę instalacji i obsługi, za to że programista nie musi siedzieć nad tym kilka dni żeby doprowadzić kod do ładu, CZAS PROGRAMISTY == PIENIĄDZ...

Ale tak naprawdę to jest cena za instalację na witrynie + wsparcie techniczne. Jak GPL to GPL - nie mogę pobierać opłaty za sam produkt, ale za USŁUGI związane z produktem.

3. Cena nie jest ostateczna.

Btw. Właśnie zadecydowałem o "zmianie polityki cenowej biggrin.gif". Zapraszam na stronę do zapoznania się ze zmianami.


Jeszcze to:
---------------------------------------

Cytat(koobs @ 24.06.2007, 22:57:18 ) *
600zł za mniej niz 1kb kodu blinksmiley.gif blinksmiley.gif blinksmiley.gif blinksmiley.gif


1. Gwoli ścisłości, kodu jest 20 KB (standard) + 21KB (GZIP) + 45 KB obcinarka do skryptów (której jeszcze nie opublikowałem) + 5 KB kod obcięty (standard) + 6KB kod obcięty (GZIP) co daje razem prawie 100 KB.

A to że ty widzisz tylko kilka KB to jest zamierzony efekt. Kod ma być jak najkrótszy, bo im mniej kodu, tym lepiej. A to ile się namęczyłem żeby ten kod mógł mieć te 6 KB to jest już inna historia.

2. Kod miał na początku 2 lub 3 RAZY tyle KB. Skróciłem go niemiłosiernie i powycinałem wszystko co niepotrzebne.
PiotrLegnica
499zł... Tyle to nawet IPB nie kosztuje.
SoofMan
Cytat(PiotrLegnica @ 26.06.2007, 14:57:39 ) *
499zł... Tyle to nawet IPB nie kosztuje.


0. A czy IPB potrafi uciąć np. 200 zł miesięcznie z kosztów hostingu questionmark.gifquestionmark.gif

1. Ekhm... przeznaczenie wersji GZIP jest komercyjne

To jest cena obliczona dla dużych serwisów (takich na których opłaty za transfer wynoszą przynajmniej 50-100 zł miesięcznie)... Przecież to czysty zysk. Nie musisz kupować bardzo drogiego DEDYKA, żeby postawić sobie tam kompresję MOD_GZIP, a i tak oszczędzasz połowę kasy którą wydawałeś na transfer miesięcznie.

A jeżeli nie chcesz OSZCZĘDZAĆ kasy na transferze to po co ci w ogóle wersja GZIP questionmark.gif

Masz wersję standard za darmo, która jest praktycznie tak samo szybka i identyczna w funkcjonowaniu, z tym że bez kompresji.

Do tego wszystko (Standard i GZIP) jest na GNU GPL .

No czego jeszcze chcieć ja się pytam questionmark.gifquestionmark.gif

Widać niektórym to naprawdę trudno dogodzić.
kwiateusz
Cytat
0. A czy IPB potrafi uciąć np. 200 zł miesięcznie z kosztów hostingu questionmark.gifquestionmark.gif

IPS (autorzy skryptu) za dużo mniejsza cene daje hosting + IPB gratis :]
tyle ze sadze iz ten skrypt jest dozywotnio sprzedawany, a tam nie ma takich juz pakietów

to tak na marginesie
SoofMan
Cytat(kwiateusz @ 26.06.2007, 15:41:55 ) *
IPS (autorzy skryptu) za dużo mniejsza cene daje hosting + IPB gratis :]


No dobra, ale czy jak zainstalujesz sobie IPB na swoich dwóch serwisach WWW, to na każdym z nich zaoszczędzisz od razu 50% na transferze questionmark.gif

Cytat(kwiateusz @ 26.06.2007, 15:41:55 ) *
tyle ze sadze iz ten skrypt jest dozywotnio sprzedawany, a tam nie ma takich juz pakietów
to tak na marginesie


Tak. Dożywotnio.

O ! Własnie przypomniałeś mi żebym dodał informację o tym jak długi jest dostęp do aktualizacji Hypercachera w każdym pakiecie....

Aaaa... dodam wieczorem, bo teraz już mam zajęcie.
Riklaunim
czy ty myślisz że masz wyłączność na stosowanie kompresji gzip i redukcję transferu? Nie masz z czym wyskakiwać bo to nie jest jakieś objawienie IV RP.
Dandelion
Cytat
Hmmm.... przez 10 lat rozwoju PHP żaden mało, średnio ani bardzo-zaawansowany programista na to nie wpadł, a przecież TO TAKIE PROSTE exclamation.gif...


wiekszosc programistow na to wpadla jednak nieliczni proboja czerpac z tego korzysci. Kazdy wiekszy serwis wykorzystuje kompresje gzip i cache
UDAT
Cytat(SoofMan @ 26.06.2007, 14:25:11 ) *
45 KB obcinarka do skryptów (której jeszcze nie opublikowałem)


Ciekawe co to za kombajn? "Obcinarka" to jest może ze 45 linijek kodu przy użyciu Tokenizera + paru funkcji wbudowanych do PHP'a.
SoofMan
Cytat(UDAT @ 26.06.2007, 17:33:50 ) *
Ciekawe co to za kombajn? "Obcinarka" to jest może ze 45 linijek kodu przy użyciu Tokenizera + paru funkcji wbudowanych do PHP'a.


0. Klasa ma dokładnie 43,8 Kilobajta i większość z tego to NIE są komentarze. Klasa nie jest jeszcze aż tak dokładnie skomentowana jak PHP Hypercacher.

1. Klasa PHPCompacter (bo tak się nazywa) nie używa praktycznie żadnych ZAAWANSOWANYCH funkcji PHP typu tokenizer, preg_match ani nic tego typu.

2. Pozwolisz że do czasu jak jej nie skończę, to nie będę publikował kodu. Nie lubię wydawać półproduktów.

3. Oczywiście, obcinarka będzie CAŁKOWICIE darmowa (nie będzie żadnej wersji płatnej) + GNU GPL.

4. Obecnie działa już obcinanie skryptów oraz skracanie nazw zmiennych. Efekt działania "obcinarki" można zobaczyć ściągając zwykłą wersję Hypercachera - NIE developerską. Te wersje powstają własnie poprzez użycie PHPCompactera na wersji DEVELOPERSKIEJ.

5. Klasa nadal ma poważne błędy. Działa bezproblemowo i przerabia kod PHP Hypercachera na minimalny, ale taka Joomla po przerobieniu nadaje się tylko do wyrzucenia. Dlatego nie chcę publikować kodu, dopóki nie będzie on potrafił przerobić chociażby dużego CMSa jak Joomla.


20KB -> 5 KB a kod ten sam. Bez żadnej kompresji. (Po wycięciu komentarzy będzie pewnie 10KB -> 5KB, ale to chyba i tak nieźle)

Cytat(Dandelion @ 26.06.2007, 17:30:57 ) *
wiekszosc programistow na to wpadla jednak nieliczni proboja czerpac z tego korzysci. Kazdy wiekszy serwis wykorzystuje kompresje gzip i cache


To nie ma żadnego znaczenia. Większe serwisy (> 250.000 unikalnych userów) siedzą już na DEDYKACH. A jak wiesz, server dedykowany to już całkiem drogi interes.

Ja oferuję tym serwisom możliwość pozostania na zwykłym hostingu współdzielonym, co na pewno oszczędza masę kasy. Wiem bo moja była firma (nowebiuro.pl) tak miała. Rozważali już przejście na DEDYK, ale napisałem mojego cachera, i PROBLEM PRYSNĄŁ. Zostaliśmy na Hostingu współdzielonym.


Cytat(Riklaunim @ 26.06.2007, 17:14:48 ) *
czy ty myślisz że masz wyłączność na stosowanie kompresji gzip i redukcję transferu? Nie masz z czym wyskakiwać bo to nie jest jakieś objawienie IV RP.


Nie mam na nic wyłączności. Ale PHP Hypercacher to jest coś zupełnie nowego, kompletnie nowa koncepcja i uważam że zasługuje na uwagę.

Poza tym nie rozumiesz o co tutaj chodzi.

Ja sprzedaję ludziom CZAS i WYGODĘ. A CZAS == PIENIĄDZ.

Po co kupować dedyki, tworzyć jakieś skomplikowane rozwiązania questionmark.gif Wystarczy 500 zł i masz to już zrobione za ciebie, bezproblemowo, bezawaryjnie, szybko, prosto i przyjemnie.

Czysty relax.
NoiseMc
Cytat
Od razu widać że mnie nie znasz. Dla mnie pieniądze nie mają takiej wartości, ponieważ ja mam inny system wartości
To że 99,9999% ludzi goni za kasą, to nie znaczy że ja też. Na pewno nie zrobiłbym niczego co by mnie upodliło za kasę.


Cytat
Poza tym nie rozumiesz o co tutaj chodzi.
Ja sprzedaję ludziom CZAS i WYGODĘ. A CZAS == PIENIĄDZ.


Troche sprzecznosc tutaj widze smile.gif
SoofMan
Cytat(NoiseMc @ 26.06.2007, 19:23:57 ) *
Troche sprzecznosc tutaj widze smile.gif


A ja nie widzę żadnej sprzeczności.

Podpowiedź:

* Obydwa programy (weraja darmowa i płatna) są na GPLu *

1. Nie ma nic upadlającego, niemoralnego ani nieuczciwego w tym że żądam kasy za dobry produkt.

2. Gorzej by było gdybym wciskał ludziom kit. Ale tak nie jest, bo Hypercacher GZIP działa bardzo dobrze, co zostało już udowodnione.

3. Nie jestem też chytry i nie staram się też nikomu wcisnąć że to MOJA i bezwzględnie MOJA własność intelektualna - PRZYZNAJĘ, że koncepcja nie jest potwornie skomplikowana, ale wcale nie jest też łatwo na nią wpaść. Trzeba odpowiednio kombinować po prostu.

4. Dlatego właśnie z wymienionego wyżej powodu nr. 3 wydałem ten soft na GPLu.

Btw.
Jestem też przeciwnikiem patentów na oprogramowanie.
devnul
Cytat
Ja oferuję tym serwisom możliwość pozostania na zwykłym hostingu współdzielonym, co na pewno oszczędza masę kasy. Wiem bo moja była firma (nowebiuro.pl) tak miała. Rozważali już przejście na DEDYK, ale napisałem mojego cachera, i PROBLEM PRYSNĄŁ. Zostaliśmy na Hostingu współdzielonym.
to współczuję usługodawcy - bo nie sądzę żeby zwykła strona generowała taki ruch. Widać kożystacie z lipnego usługodawcy, albo nie potrficie pisać wydajnego softu. I tak jak ktoś wcześniej powiedział aplikacje stawiane na dedykach mają w 99% wbudowane mechanizmy cache jak i kompresji kodu po negocjajcji z przeglądarką. IMHO będziesz wciskał swój kod ludziom którzy nie są w temacie i tak tylko może udać Ci się zarobić. Na dużych klientów nie masz co liczyć.
Dandelion
szczegolnie ze mozemy uzyc pelnych darmowek wykorzystywanych w duzych aplikacjach

http://turck-mmcache.sourceforge.net/index_old.html#download
http://pl.wikipedia.org/wiki/EAccelerator
SoofMan
Cytat(devnul @ 26.06.2007, 20:32:37 ) *
to współczuję usługodawcy - bo nie sądzę żeby zwykła strona generowała taki ruch.


Eeeee.... nie rozumiem. Przecież to jest portal: http://www.nowebiuro.pl..... Chyba nic w tym dziwnego że PORTAL generuje taki ruch, nie ?

Cytat(devnul @ 26.06.2007, 20:32:37 ) *
Widać kożystacie z lipnego usługodawcy,


hehehehehe

Na twoim miejscu to bym uważał co mówisz, bo nowebiuro.pl korzysta dokładnie z TEGO SAMEGO usługodawcy co portal PHP.pl - firmy NQ.PL biggrin.gif

Btw.
Firma NQ.PL może potwierdzić, że w okolicach hmmmm..... marca ? Miał miejsce POKAŹNY spadek ilości transferu zużywanego przez jednego z największych klientów (wtedy to zainstalowałem Hypercachera GZIP wersja 0.890)...

NQ.PL mogłoby też potwierdzić, że w okolicach końca listopada/ początku grudnia ubiegłego roku miał miejsce pokaźny spadek obciążenia serwera współdzielonego, na którym stał portal nowebiuro.pl (wtedy właśnie zainstalowałem wersję Hypercacher Standard 1.1...

No tak, ale pewnie takie dane są tajemnicą handlową... Więc zapomnijmy o tym.

Cytat(devnul @ 26.06.2007, 20:32:37 ) *
albo nie potrficie pisać wydajnego softu.


Masz 100% rację exclamation.gif Serwis był wcześniej napisany tragicznie, beznadziejnie i fatalnie. Całe szczęście trochę go już poprawiłem, chociaż przyznaję że mógłby chodzić jeszcze szybciej... Niestety już tam nie pracuję, więc nie skorzystają z Hyper Query Caching (którego jeszcze nie napisałem, ale mam zamiar)

Cytat(devnul @ 26.06.2007, 20:32:37 ) *
I tak jak ktoś wcześniej powiedział aplikacje stawiane na dedykach mają w 99% wbudowane mechanizmy cache


Ale co to ma w ogóle do rzeczy ? Pisałem już 100 razy przecież, że nie ważne jakie mechanizmy stoją po stronie servera - to wszystko będzie świetnie współdziałać z Hypercacherem.

Cytat(devnul @ 26.06.2007, 20:32:37 ) *
jak i kompresji kodu po negocjajcji z przeglądarką.


Nie wiem gdzie ty widziałeś takie dedyki, ale na pewno nie na NQ.PL w każdym razie...

Gdybym był dostawcą, nie chciałoby mi się dodatkowo obciążać servera kompresją GZIP - tym bardziej że za większy transfer klient więcej zapłaci.

W każdym razie na NQ.PL tego nie ma. Nie mam informacji jak jest na innych dedykach.

Cytat(devnul @ 26.06.2007, 20:32:37 ) *
IMHO będziesz wciskał swój kod ludziom którzy nie są w temacie i tak tylko może udać Ci się zarobić. Na dużych klientów nie masz co liczyć.


No proszę, a ten znowu zaczyna...

To że ty lubisz WCISKAĆ KIT, to nie znaczy że ja też muszę wciskać kit i nie znaczy że cały świat musi WCISKAĆ KIT, mały człowieczku exclamation.gif

Dlaczego wciąż oceniasz innych swoimi kategoriami questionmark.gifquestionmark.gif

Gdybym chciał wciskać kit i WYCISKAĆ KASĘ, to

1. Czy wydałbym ten soft na GPLu questionmark.gifquestionmark.gif
2. Czy zaoferowałbym swój produkt serwisom NON PROFIT za darmo questionmark.gif
http://hypercacher.com/forum/viewtopic.php?t=25

Kit to sobie wciskaj w domu do okien, ja nikomu kitu nie wciskam i nie mam zamiaru wciskać.

Cytat(Dandelion @ 26.06.2007, 20:38:37 ) *
szczegolnie ze mozemy uzyc pelnych darmowek wykorzystywanych w duzych aplikacjach

http://turck-mmcache.sourceforge.net/index_old.html#download
http://pl.wikipedia.org/wiki/EAccelerator


Nikt wam nie zabrania używać tych darmówek razem z Hypercacherem. Na pewno serwis będzie działał ZNACZNIE szybciej przy podwójnym przyśpieszeniu.
Riklaunim
Cytat(SoofMan @ 26.06.2007, 20:46:37 ) *
Firma NQ.PL może potwierdzić, że w okolicach hmmmm..... marca ? Miał miejsce POKAŹNY spadek ilości transferu zużywanego przez jednego z największych klientów (wtedy to zainstalowałem Hypercachera GZIP wersja 0.890)...

Parę lat temu wrzuciłem ob_start("ob_gzhandler"); na swoich stronach opartych wtedy o PHP-Fusion i 3GB transferu z 8 uciąłem tongue.gif ale mi filozofia



Cytat(SoofMan @ 26.06.2007, 20:46:37 ) *
NQ.PL mogłoby też potwierdzić, że w okolicach końca listopada/ początku grudnia ubiegłego roku miał miejsce pokaźny spadek obciążenia serwera współdzielonego, na którym stał portal nowebiuro.pl (wtedy właśnie zainstalowałem wersję Hypercacher Standard 1.1...

Bo jak się nie umie pisać zoptymalizowanego kodu to trzeba jechać na statycznych stronach (kesz).



Cytat(SoofMan @ 26.06.2007, 20:46:37 ) *
Serwis był wcześniej napisany tragicznie, beznadziejnie i fatalnie. Całe szczęście trochę go już poprawiłem, chociaż przyznaję że mógłby chodzić jeszcze szybciej...

http://www.fotosik.pl/showFullSize.php?id=008ac129b381593e smile.gif

Cytat(SoofMan @ 26.06.2007, 20:46:37 ) *
Niestety już tam nie pracuję, więc nie skorzystają z Hyper Query Caching (którego jeszcze nie napisałem, ale mam zamiar)

APC czy kesze jak memcached istnieją i są sprawdzone i mogą znacznie więcej niż skrypciki w PHP. I nie jedź z kosztami bo serwisy potrzebujące tych rozwiązań bez problemu na nie stać i nie są to dla nich koszty do wycięcia.

Cytat(SoofMan @ 26.06.2007, 20:46:37 ) *
Ale co to ma w ogóle do rzeczy ? Pisałem już 100 razy przecież, że nie ważne jakie mechanizmy stoją po stronie servera - to wszystko będzie świetnie współdziałać z Hypercacherem.

Po co keszować kesz?

Cytat(SoofMan @ 26.06.2007, 20:46:37 ) *
Gdybym był dostawcą, nie chciałoby mi się dodatkowo obciążać servera kompresją GZIP - tym bardziej że za większy transfer klient więcej zapłaci.

Lol, jeszcze nie widziałem serwera z zablokowaną kompresją GZIP tongue.gif
tuner
SoofMan, chciałbym ci powiedzieć, że ten pomysł nie jest wcale nowy, ani genialny. Że jest powszechnie stosowany, a twój produkt jest zwyczajną próbą implementacji rozwiązania, IMO dość słabą.

I nie chodzi o to, że ludzie na ciebie najeżdżają, nie doceniają twojej pracy, czy też pomysłowości. Po prostu tak to już jest w dzisiejszych czasach. Trudno wymyślić jakieś innowacyjne rozwiązanie bo prawie zawsze okaże się, że ktoś już coś podobnego wymyślić, stworzył, dopracował i skutecznie wdraża w projektach.

Ileż razy ja przeżywałem ekstazę z wpadania na, moim zdaniem, genialne pomysły mające zrewolucjonizować techniki programowania, gdy okazywało się coś takiego już jest powszechnie stosowane, ma swoją nazwę i widnieje w książkach, np. o design patternach. Od tamtego czasu, gdy w mojej głowie zaczyna się świecić żaróweczka próbuję wygooglować informacje na temat, którego moje pomysły dotyczą.

Chciałbym ci życzyć powodzenia w tworzeniu twojego skryptu, cierpliwości w nauce języka, możliwości rozwoju w kierunku poznania technik optymalizacji aplikacji webowych. Wiem, że w pewnym momencie zrozumiesz co, jak i dlaczego piszą w tym temacie użytkownicy, często o wiele bardziej doświadczeni (przez los winksmiley.jpg) programiści naszego języka dynamicznego.

Powodzenia w dalszej pracy z PHP.
SoofMan
Cytat(Riklaunim @ 26.06.2007, 21:05:32 ) *
Parę lat temu wrzuciłem ob_start("ob_gzhandler"); na swoich stronach opartych wtedy o PHP-Fusion i 3GB transferu z 8 uciąłem tongue.gif ale mi filozofia


Nie. Gdybym żądał 500 zł za samo ob_gzhandler to to faktycznie byłaby czysta bezczelność. Niestety sprawa jest dużo bardziej skomplikowana.

Tak jak piszę na stronie - serwis używający Hypercachera potrafi być szybszy od ob_gzhandler, MOD_GZIP czy czego tam sobie jeszcze chcesz.

Oczywiście nie powiem nic więcej - tajemnica handlowa biggrin.gif. A jeżeli kiedyś wpadniesz na to sam, to też nie powiesz innym bo uznasz że to za dobre żeby rozdawać za darmo i zaczniesz sprzedawać - dlatego właśnie ja zacząłem to sprzedawać.

Cytat(Riklaunim @ 26.06.2007, 21:05:32 ) *
Bo jak się nie umie pisać zoptymalizowanego kodu to trzeba jechać na statycznych stronach (kesz).
http://www.fotosik.pl/showFullSize.php?id=008ac129b381593e smile.gif


Hahahahahahah. Pewnie, nie zaprzeczam. Na serwisie jest pełno takich smaczków. biggrin.gif

Tym bardziej jeżeli używać innych przeglądarek niż IE, FF i Opera pod windowsem. Pod linuxem odrobinę się rozjeżdża, ale nie było jak tego sprawdzić bo wszyscy w firmie jadą na windzie biggrin.gif

Nie płacili mi za poprawienie tego, więc zajmowałem się tym za co mi płacili. Ja priorytetów nie ustalałem. Gdybym to ja ustalał, to najpierw poprawiłbym wszystkie błędy i zatrudniłbym normalnego BETA-TESTERA, żeby wszystko sprawdzał, bo sprawdzać błędy samemu to katorga.

Ale to było niezgodne z "polityką firmy". Potem więcej rzeczy stało się niezgodne z "polityką firmy", więc odszedłem.

Cytat(Riklaunim @ 26.06.2007, 21:05:32 ) *
APC czy kesze jak memcached istnieją i są sprawdzone i mogą znacznie więcej niż skrypciki w PHP. I nie jedź z kosztami bo serwisy potrzebujące tych rozwiązań bez problemu na nie stać i nie są to dla nich koszty do wycięcia.


To świetnie. Ale mój caching też istnieje, też jest sprawdzony i dodatkowo działa BEZ DEDYKÓW i w określonych wypadkach nawet SZYBCIEJ niż tamte. Ile razy mam to jeszcze powtarzać żeby do Ciebie dotarło questionmark.gif

Cytat(Riklaunim @ 26.06.2007, 21:05:32 ) *
Po co keszować kesz?


LOL, żeby działało szybciej.

Cytat(Riklaunim @ 26.06.2007, 21:05:32 ) *
Lol, jeszcze nie widziałem serwera z zablokowaną kompresją GZIP tongue.gif


LOL, a czy widziałeś server NIE DEDYKOWANY, na którym ludziom pozwala się grzebać w ustawieniach APACHE i dodawać sobie rozszerzenia (Np MOD_GZIP) questionmark.gif Bo ja nie.

Tym bardziej jak firma hostingowa trzaska na opłatach za transfery KOKOSY - gorzka prawda.

Cytat(tuner @ 26.06.2007, 21:37:58 ) *
SoofMan, chciałbym ci powiedzieć, że ten pomysł nie jest wcale nowy, ani genialny. Że jest powszechnie stosowany, a twój produkt jest zwyczajną próbą implementacji rozwiązania, IMO dość słabą.

I nie chodzi o to, że ludzie na ciebie najeżdżają, nie doceniają twojej pracy, czy też pomysłowości. Po prostu tak to już jest w dzisiejszych czasach. Trudno wymyślić jakieś innowacyjne rozwiązanie bo prawie zawsze okaże się, że ktoś już coś podobnego wymyślić, stworzył, dopracował i skutecznie wdraża w projektach.

Ileż razy ja przeżywałem ekstazę z wpadania na, moim zdaniem, genialne pomysły mające zrewolucjonizować techniki programowania, gdy okazywało się coś takiego już jest powszechnie stosowane, ma swoją nazwę i widnieje w książkach, np. o design patternach. Od tamtego czasu, gdy w mojej głowie zaczyna się świecić żaróweczka próbuję wygooglować informacje na temat, którego moje pomysły dotyczą.

Chciałbym ci życzyć powodzenia w tworzeniu twojego skryptu, cierpliwości w nauce języka, możliwości rozwoju w kierunku poznania technik optymalizacji aplikacji webowych. Wiem, że w pewnym momencie zrozumiesz co, jak i dlaczego piszą w tym temacie użytkownicy, często o wiele bardziej doświadczeni (przez los winksmiley.jpg) programiści naszego języka dynamicznego.

Powodzenia w dalszej pracy z PHP.


Dzieki.

Zgadzam się w 100% z tym co napisałeś.

Ale jest jedno "ALE". Nikt wcześniej na to nie wpadł. Jedyna *podobna* koncepcja to JP-CACHE, ale nie zawiera nagłówka i stopki, więc to nie jest to samo.

Długo szukałem podobnych rozwiązań i nie mogłem nic znaleźć. Jedyne co to jakieś STRASZNIE skomplikowane cachery do JOOMLI, ale tego nie da się porównać do małego, prostego, drobnego i efektywnego Hypercachera.
devnul
Cytat
Eeeee.... nie rozumiem. Przecież to jest portal: http://www.nowebiuro.pl..... Chyba nic w tym dziwnego że PORTAL generuje taki ruch, nie ?
portal to onet, wp, interia, gazeta, yahoo itp a owebiuro to co najwyżej smieszny wortalik (a jesli nazywasz to portalem to rozumiem że stoi na dedykowanym oprogramowaniu - a jesli tak to czemu nie pomyslano na etapie produkcji tego softu o cachu i kompresji?)
Cytat
Na twoim miejscu to bym uważał co mówisz, bo nowebiuro.pl korzysta dokładnie z TEGO SAMEGO usługodawcy co portal PHP.pl - firmy NQ.PL
osobiście nie mam doczeynienia z nq więc i uważać nie musze. ba mało tego uważam że mają drogo i za tą samą cenę dostanę dużo lepszy pakiet - więc nie mam problemów z ilością wysyłanych danych itp.
Cytat
Nie wiem gdzie ty widziałeś takie dedyki, ale na pewno nie na NQ.PL w każdym razie...
to kwestia aplikacji (cms'a czy jak zwał tak zwał) a nie dedyka.

a co do wciskania kitu to cóż. żyj dalej w błogim przeświadczeniu o swojej genialności i górowaniu nad innymi "wielki" człowieczku.
SoofMan
Cytat(devnul @ 26.06.2007, 21:52:04 ) *
a co do wciskania kitu to cóż. żyj dalej w błogim przeświadczeniu o swojej genialności i górowaniu nad innymi "wielki" człowieczku.


1. A gdzie napisałem że góruję nad innymi questionmark.gifquestionmark.gif

Zacytuję ci wypowiedź kolegi tuner:
Cytat
Ileż razy ja przeżywałem ekstazę z wpadania na, moim zdaniem, genialne pomysły mające zrewolucjonizować techniki programowania, gdy okazywało się coś takiego już jest powszechnie stosowane, ma swoją nazwę i widnieje w książkach, np. o design patternach. Od tamtego czasu, gdy w mojej głowie zaczyna się świecić żaróweczka próbuję wygooglować informacje na temat, którego moje pomysły dotyczą.


KAŻDEMU zdarza się wpaść na coś fajnego. Ja akurat miałem FART, że nikt nie wpadł na to samo wcześniej. To wszystko. Wcale nie czyni mnie to gorszym czy lepszym od innych.


2. Och DEVNULL DEVNULL....

Nie myślałeś czasem żeby zmienić nicka na /dev/snakes/BlackMamba questionmark.gif

Jesteś jak oryginalna, afrykańska czarna mamba. W jednym poście wylewasz TYLE JADU, że wystarczyłoby do powalenia 40 ludzi...

http://en.wikipedia.org/wiki/Black_mamba
http://pl.wikipedia.org/wiki/Czarna_mamba
sagittariuspl
skończcie tą bezproduktywną gadką i weźcie się do szcegółów.

każdy pisze, że umie to zrobić lepiej i już takie coś widział. pokażcie mi statystyki, wykresy, wyniki badań - gadać tylko kto potrafi lepiej to może każdy. ja chcę poznać wyniki
Kreton
Ot: @Soofman: Proszę więcej enterów, bo rolka w myszce jeszcze nie rozgrzana. smile.gif
SoofMan
Cytat(Kreton @ 23.07.2007, 16:35:37 ) *
Ot: @Soofman: Proszę więcej enterów, bo rolka w myszce jeszcze nie rozgrzana. smile.gif


Wiesz. Jednemu będzie za dużo enterów, drugiemu za mało.... wszystkim nie dogodzisz... winksmiley.jpg
aliasx2
Soofman jezeli footer nie musi byc umieszczony na stronie to jak go usunać??
wydaje mi sie ze jezeli go usune lub zmodyfikuje to nie dziala
malo znam sie na php ale wydaje mi sie ze jezeli footer zostanie usuniety MAGICZNY NIEZIEMISKI FENOMENALNY CACHER PRZESTAJE DZIAŁAĆ....

pytanie wiec jak go usunać (gpl)
SoofMan
Cytat(aliasx2 @ 8.08.2007, 16:46:30 ) *
Soofman jezeli footer nie musi byc umieszczony na stronie to jak go usunać??
wydaje mi sie ze jezeli go usune lub zmodyfikuje to nie dziala
malo znam sie na php ale wydaje mi sie ze jezeli footer zostanie usuniety CACHER PRZESTAJE DZIAŁAĆ....


Hypercacher nie psuje się po usunięciu footera... po prostu uszkodziłeś kod przy próbie jego usuwania.

Cytat(aliasx2 @ 8.08.2007, 16:46:30 ) *
MAGICZNY NIEZIEMISKI FENOMENALNY


Gdzie napisałem że jest magiczny, nieziemski i fenomenalny ? Po prostu to fajny motyw jest i tyle. Daje mi dużo satysfakcji że mogę czyjąś stronę tak skutecznie przyśpieszyć.

Cytat(aliasx2 @ 8.08.2007, 16:46:30 ) *
pytanie wiec jak go usunać (gpl)


Nikt ci nie zabrania usuwać footera i .... po prostu troszkę to utrudniłem, żeby ludzie nie robili tego automatycznie/odruchowo...

Dobremu programiście usunięcie go zajmie max 5 minut biggrin.gif

Wysyłam ci instrukcję usuwania na PW.


-----
BTW. Miło by było gdybyś jednak dodał jakiś (jakikolwiek) link prowadzący do mojej strony gdzieś w stopce lub gdziekolwiek na stronie (może być ledwo widoczny). Myślę że to uczciwy układ.

Jeżeli uważasz, że to nieuczciwy układ, to także jest kwestia dyskusyjna. Nie jestem betonem - jestem elastyczny i do wszystkiego można mnie przekonać, jeżeli to dobrze uargumentujesz.

Zapraszam na moje forum.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.