Nowości z php.internals – nasza klasa kontrybuuje kod do php !

Marcin Babij z naszej klasy w swoim wpisie na php.internals poinformował społeczność php, o wykonanych przez nich optymalizacjach interpretera. Dotyczą one implementacji hash table czyli znanych nam wszystkim php-owych „arrayów”. Jako, że są one wykorzystywane wszędzie, nie tylko w kodzie napisanym przez użytkowników ale również w wielu miejscach w samym interpreterze, każda poprawka, która przyspiesza funkcje operujące na tej strukturze danych jest mile widziana (jak podaje Babij średnio ich wywołania zajmują 10%-20% czasu każdego skryptu).

Nie wgłębiając się zbytnio w techniczne szczegóły, które można znaleźć w oryginalnym wpisie, programistom nk.pl udało się zmniejszyć obciążenie procesora przy operacjach na tablicach o 4% do 6% przy niewielkim wzroście użycia pamięci. Patch, który dostarczył został sprawdzony względem php 5.3.4 i apc-3.1.3p1 i można go ściągnąć z githuba.

Wypada tylko podziękować programistom naszej klasy, że są tak uprzejmi i dzielą się swoimi osiągnięciami. Może to zachęci inne osoby z naszego pięknego kraju do przyłączenia się do projektu.

  1. Kocurro pisze:

    Sam też często zgłaszam patche do różnych projektów a to nie ze względu na to, że chce pomóc innym ale ze względu na to, że jeśli patch zostanie wgrany do głównej linii kodu to nie muszę się martwić by przy korzystaniu z kolejnej wersji ręcznie patchować.

  2. Masz racje, pewnie też jest to jeden z powodów, tak czy inaczej motywy to sprawa drugorzędna, ważne są efekty :)

  3. hrwath pisze:

    ‚contribute’ się nie tłumaczy na ‚kontrybucję’ – polecam sprawdzić znaczenie słowa w słowniku przed ‚upolszczaniem’ zagranicznych wyrazów 😉

  4. W programistycznym slangu używa się tego słowa, bo najlepiej oddaje znaczenie „wnosić wkład do” w sposób bardziej bezpośredni. Natomiast kontrybucja to angielskie „contribution” czyli zupełnie inne słowo. Kontrybuować jest kalką z „to contribute”.

  5. Zyx pisze:

    Kontry… co? A precz mi z takim śmieciem z języka polskiego! „Nasza Klasa wspiera rozwój PHP” – już nawet w budowaniu zdań muszą nas wyręczać Anglicy?

  6. Zyx, nie podzielam twojego puryzmu. Język ewoluuje cały czas, wprowadzane są do niego wciąż nowe wyrazy, stare zmieniają formę a niektóre archaizmy są wskrzeszane w innym znaczeniu. Znaczna ilość wyrazów w języku polskim jest zapożyczona z innych języków. W dobie globalizacji wzajemne zapożyczenia a szczególnie importowanie wyrazów z międzynarodowo używanego języka angielskiego jest procesem naturalnym i nic go nie powstrzyma.

  7. eRIZ pisze:

    @WS: podzielam zdanie poprzedników co do słowa „kontrybować”. Słownik języka polskiego również go nie zna, więc…? Ja rozumiem, że pewnych pojęć nie da się przetłumaczyć (np. firewall a zapora ogniowa, to chyba bezdyskusyjne), ale nie spolszczajmy angielskiego wyrazu na polską pisownię, bo to zakrawa o pokemonizm. 😛

    Może to zachęci inne osoby z naszego pięknego kraju do przyłączenia się do projektu.

    Huh, czy ja wiem… Mało jest firm posiadających podobną organizację pracy jak NK oraz chęci do usprawniania istniejących projektów…

    Ciężko, niestety, z myśleniem perspektywistycznym…

  8. @eriz co do słownika, to naturalnym jest, że biurokracja nie nadąża za życiem. Słowniki publikowane są w pewnych cyklach, to, że jakiegoś słowa w nich nie ma to nie znaczy, że nie istnieje w użyciu. W końcu język powstał przed słownikami 😉

    Co chęci usprawniania, myślę też, że niektórzy by może i coś ruszyli ale się boją, że kod ich przerośnie :>

  9. eRIZ pisze:

    No tak, tylko że jakby było „kontrybuować”, to dają takie kwiatki jak „dżojstik”.

    Precz ze śmieceniem języka, jest tyle pięknych słów i zwrotów, to nie – róbmy ponglisza…

  10. Szczerze mówiąc, pierwsze co zrozumiałem, to to, że nasze klasy w kodzie miałyby być w jakiś sposób wysyłane do zespołu tworzącego PHP. Tutaj miałem niemałą zagwozdkę – po co niby twórcom PHP nasz kod – mieliby się z niego uczyć, czy co? Nie wiem, trochę już późno – widocznie słabo mi się myśli o tej porze. ;]

  11. @tomasz, haha o 3:55 to się śpi a nie czyta blogi 😛

  12. KKH pisze:

    Myślałem, że implementacja tablic w PHP,ze względu na krytyczne znaczenie, jest tak wyżyłowana, że nie da się poprawić. A tu proszę. Dało się!

    Co do „kontrybucji”. Oczywiście, że język jest żywy, standard nie nadąża za praktyką i tak dalej, ale to nie znaczy, że wszystko można podciągać pod językotwórzą awangardę. Np. pisanie „content” zamiast „zawartość”, „manulany” zamiast „ręczny” itp. to są zwykłe błędy wynikające z niezastanowienia się nad użyciem odpowiedniego słowa. Ponurym pokłosiem tego procederu jest zubożanie słownictwa języka polskiego. Podam typowe przykłady:

    „eksluzywny wywiad” – wypierający słowo „wyłączność” i rozmywający znaczenie słowa „ekskluzywny”.

    „respekt” jako kalka z „respect” używana zamiast „szacunek”. Szacunek tracimy, a respekt zaczyna mieć dwa znaczenia, ewentualnie tracić znaczenie pierwotne.

    „Kontrybuowanie” słowotwórczo wywodzi się ze słowa kontrybucja a znaczenie ma inne. Czyli zamienia język w niespójny słowotwórczo potworek. No żeby to jeszcze się wygodniej pisało i mówiło niż „wnosić wkład”, to jeszcze bym zrozumiał.

  13. @kkh problem z taką implementacją tablic jaka jest w php (hash map) jest taki, że ich wydajność bardzo zależy od warunków w jakich są użyte. Czy mają małe, czy duże datasety oraz od funkcji hashującej, która musi z jednej strony być szybka a z drugiej produkować bardzo unikalne hashe…

  14. @Wojciech – tak właściwie to już wiem, dlaczego mi się tak zdawało – „nasza klasa” może odnosić się do różnych form, zarówno do klasy licealnej, jak i klasy w kodzie tworzonej w kilka osób. Jeśli chciałeś poinformować, że programiści Naszej Klasy, czyli portalu społecznościowego zrobili coś pożytecznego dla PHP, to powinieneś napisać tą nazwę z ucwords(). ;]

  15. @tomasz, true, albo wyeskejpować w backtickach (`) ;P

  1. […] serwisu Follow us on Twitter 79 śledzących RSS Feed  /  Mail 408 czytelników Nasza klasa kontrybuuje kod do php 1 głosuj! Nasza klasa dzieli się usprawnieniami interpretera PHP z społecznością […]

Leave a Reply

Informuj mnie o odpowiedziach poprzez e-mail. Możesz również subskrybować wpis bez zostawiania komentarza.