Nadchodzi PHP 7, który będzie dwa razy szybszy od PHP 5.6

Nadchodzi PHP 7, który będzie dwa razy szybszy od PHP 5.6

przez -
30 8202
PHP

PHP jest językiem skryptowym, służącym głównie do projektowania stron internetowych, jest on rozprowadzony na otwartej licencji, każdy może pobrać kopie oraz używać bez żadnych ograniczeń. Zarówno do celów komercyjnych jak i prywatnych. Język ten jest łatwy w nauce oraz umożliwia tworzenie profesjonalnych stron WWW. Razem z rozwojem języka zaczęły powstawać coraz to nowsze wydania z ulepszeniami.

Już za kilkanaście tygodni nastąpi premiera PHP 7. To wydanie języka będzie się charakteryzowało dwukrotnie zwiększoną szybkością w stosunku do PHP 5.6. A to za sprawą całkowicie nowego silnika Zend Engine. Według wstępnych testów system WordPress potrafi działać o 100% szybciej. Zmniejszono także zużycie pamięci, co na pewno ucieszy firmy hostingowe oraz administratorów. Dzięki temu serwery udźwigną teraz znacznie większy ruch, bez żadnych dodatkowych kosztów.

PHP 7 będzie zawierać także ulepszoną składnię zmiennych, wewnętrznie spójną i kompletną. Pozwoli to na użycie operatorów: ->, [], (), {} i :: z dowolnymi poprawnymi wyrażeniami po lewej.

Kolejną zmianą, zresztą bardzo kontrowersyjną czyli wskazywanie typów skalarnych oraz zwracanych wartości przez funkcje/metodę. W nowej wersji będziemy mogli wskazywać jakiego typu argumenty przyjmie dana funkcja oraz jakiego typu jest zwracany wynik. Gdy warunki te nie będą spełnione nastąpi wystąpienie błędu ( Catchable fatal error)

Planowana data wydania nowej wersji to 12 listopada 2015 roku.

30 Komentarze

  1. „PHP 7 będzie zawierać także ulepszoną składnię zmiennych, wewnętrznie spójną i kompletną. Pozwoli to na użycie operatorów: ->, [], (), {} i :: z dowolnymi poprawnymi wyrażeniami po lewej.”
    Jak już piszecie jakieś artykuły dotyczące programowania to niech to napisze chociaż jakiś programista.
    Naprawdę powyższe, szczególnie „ulepszoną składnię zmiennych”… to coś o czym warto wspominać? Serio? :D
    Co to w ogóle znaczy nawet?

    Nie lepiej byłoby napisać o zmianach w TYPOWANIU? Np. „scalar type hinting”: https://wiki.php.net/rfc/scalar_type_hints
    Nie wiem jak to przetłumaczyć poprawnie, nie jestem redaktorem.

    Nie obrażajcie się, mam nadzieję, że przyjmiecie to jako konstruktywną krytykę.

  2. Ktoś może wie, dlaczego typowanie zmiennych jest tylko dla argumentów funkcji i jej zwracanej wartości ? Dlaczego tego nie wprowadzili w klasach, no i dla każdej innej zmiennej ?

    • Hmmm … A to nie po to do języków dodaje się możliwość typowania, gdyż są wtedy wydajniejsze ? Może coś pokręciłem, dlatego czekam na ewentualne sprostowanie.

    • Głównie dodaje się po to by móc zweryfikować statycznie poprawność programu podczas kompilacji (zamiany w bytecode).
      Typy podstawowe mogą poprawić wydajność, gdyż nie trzeba stosować wtedy domyślnie uniwersalnych typów o dużej pojemności.

    • To dobry argument – ma to sens, choć przydałoby się coś takiego choćby w klasach. To może zmienię pytanie na: „Czy są w ogóle plany rozszerzenia typowania zmiennych w PHP7 ?”.

    • Przecież typy sprawdza tylko kompilator/lint. Potem dla VM nie powinny być już potrzebne. No ale to PHP.

    • Dla każdej zmiennej byłoby upierdliwe, a per metoda by ograniczyć możliwości błędów.

    • Dlaczego upierdliwe ?
      Powinno to być po prostu opcjonalne typowanie.
      Jak dla kogoś typowanie jest upierdliwe, to nie musiałby wtedy tego robić i tyle.

  3. Na takie zapewnienia o szybszej pracy trzeba uważać, bo FF to działał 2x szybciej, ale tego, że na 4x szybszym sprzęcie to już nie napisali. Może nowy PHP działa 100% szybciej gdy jest 10x więcej procesorów? Nie wiem, z PHP korzystam okazjonalnie i nie jestem ortodoksyjnym fanem tego języka.

    • A co ma Firefox do PHP7 ?
      PHP7 wykonuje się po stronie serwera i szybkość przeglądarka nijak ma się do jego kodu pisanego w języku PHP ( ani w innym języku serwerowym ).
      Z tego co wiem, to chodziło o produkcyjną maszynę – nic w niej ( podobno, na czas testów ) nie zmieniano.

    • Po prostu obawiam się, że PHP powieli zasadę, na której działa 90% otwartego softu. A to jest zbyt użyteczny język na takie wyskoki, pół Internetu na tym działa.

    • Wystarczy przejrzeć benchmarki i zobaczyć liczby. Zyski sięgają 100% przy realnych aplikacjach, na takim samym sprzęcie.

    • Działać o 100% szybciej, nie skrócić czas wykonywania o 100%.
      Wykonywać o 100% szybciej, czyli szybkość wykonywania wyniesie 200%, czyli 2x.
      Czas potrzebny na wykonanie tych samych czynności ulegnie tym samym skróceniu również dwukrotnie.

      Procenty to wartości względne, same w sobie nic nie znaczą. To inny sposób zapisu ułamków i domyślnie oblicza się je od podstawy, którą jest wartość wyjściowa, a nie wynik końcowy. Dlatego o 100% więcej od jednego to 2, a o 50% mniej niż 2 to 1.

      A więc skrypty będą się wykonywać o 100% szybciej, a czas ulegnie skróceniu o 50%.

      Radzę wrócić na matematykę do podstawówki ;)

  4. uruchomiłem ten PHP7 na VPS na jakim pracuje jakieś 25 wordpressów i jedno forum na mybb. To co zauważyłem to: spadła ilość zużywanej pamięci na serwerze, wzrosło obciążenie serwera, nie zauważyłem, aby którakolwiek ze stron ładowała się szybciej niestety (moje subiektywne odczucie), nie działa z nim phpmyadmin :]

    Strony chodzą w trybie fast-cgi. Wersja PHP7 to najnowszy nightly na debianie, aktualizowany na bierząco z tej strony http://repos.zend.com/zend-server/early-access/php7/repos/ubuntu/. Konfiguracja php, dokładnie taka sama jak na php5.6, który także działa na serwerze. Z php 5.6 obecnie nie korzysta żadna z tych stron.

  5. O 100% szybciej, czyli nie będzie potrzebował w ogóle czasu na wykonanie. Nieuki, jak już piszecie takie bzdury i chcecie napisać, że 2x szybciej to piszcie o 50%

    • Następny co podstawówki nie skończył ;)

      Muszę zrobić cytat z siebie:
      „Działać o 100% szybciej, nie skrócić czas wykonywania o 100%.
      Wykonywać o 100% szybciej, czyli szybkość wykonywania wyniesie 200%, czyli 2x.
      Czas potrzebny na wykonanie tych samych czynności ulegnie tym samym skróceniu również dwukrotnie.

      Procenty to wartości względne, same w sobie nic nie znaczą. To inny sposób zapisu ułamków i domyślnie oblicza się je od podstawy, którą jest wartość wyjściowa, a nie wynik końcowy. Dlatego o 100% więcej od jednego to 2, a o 50% mniej niż 2 to 1.

      A więc skrypty będą się wykonywać o 100% szybciej, a czas ulegnie skróceniu o 50%.”

      O 50% szybciej, to 1.5x, nie 2x. ;)

Odpowiedz