Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ewolucja PHP: PHP 5.6, NG, PHP 7, HHVM
Search
Leszek Krupiński
November 29, 2014
Programming
2
290
Ewolucja PHP: PHP 5.6, NG, PHP 7, HHVM
meet.php, Poznań, 29.11.2014 r
Leszek Krupiński
November 29, 2014
Tweet
Share
More Decks by Leszek Krupiński
See All by Leszek Krupiński
So that the daemon won’t die
leafnode
2
390
Practical PHP7
leafnode
2
450
Dobrze posól swoje hasło
leafnode
0
97
Dobrze posól swoje hasło (z notatkami)
leafnode
0
85
PHPNG kontra HHVM
leafnode
0
95
PHPNG kontra HHVM (z notatkami)
leafnode
0
59
Sculpin - Generowanie statycznych stron w PHP
leafnode
2
54
Skalowanie aplikacji PHP
leafnode
1
400
Varnish to the Rescue
leafnode
0
120
Other Decks in Programming
See All in Programming
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
70
22k
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
270
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
750
A2A プロトコルを試してみる
azukiazusa1
2
1.3k
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
3
450
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
740
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
700
Goで作る、開発・CI環境
sin392
0
220
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
2
620
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
480
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
5
1.5k
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
270
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
328
39k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
810
Testing 201, or: Great Expectations
jmmastey
42
7.6k
Building Adaptive Systems
keathley
43
2.6k
Adopting Sorbet at Scale
ufuk
77
9.4k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
260
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Music & Morning Musume
bryan
46
6.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
How STYLIGHT went responsive
nonsquared
100
5.6k
Transcript
EWOLUCJA PHP PHP 5.6, NG, PHP 7, HHVM Leszek Krupiński
meet.php 29.11.2014
LEAFNODE
TERAZ
PHP 5.6
DROBNE ZMIANY SKŁADNIOWE
CONSTANT SCALAR EXPRESSIONS
None
VARIADICS
None
ARGUMENT UNPACKING
None
EKSPONENTA
None
USE CONST USE FUNC
None
PRZEŁADOWANIE OPERATORÓW GMP
None
HASH_EQUALS()
None
__DEBUGINFO()
None
PHPDBG
None
• domyślne kodowanie • ponowne użycie php://input • upload dużych
plików • przeciążenie operatorów GMP • gost-crypto • poprawki do SSL/TLS • pgsql async
PHP 7
PHP NG
GŁĘBOKA REFAKTORYZACJA
OPTYMALIZACJA STRUKTUR WEWNĘTRZNYCH
OPERACJE NA STOSIE
ZARZĄDZANIE PAMIĘCIĄ
IMMUTABLE ARRAY
EFEKTY
30% LEPSZE WYNIKI W TESTACH SYNTETYCZNYCH
20-70% SZYBSZE DZIAŁANIE PRAWDZIWYCH APLIKACJI
None
LIES, DAMNED LIES, BENCHMARKS
Autor: Dmitry Stogov
Autor: Dmitry Stogov
http://devplant.net/2014/08/11/optimizing-php-code/
ABSTRACT SYNTAX TREE
LEKSER PARSER KOMPILATOR URUCHOMIENIE LEKSEMY WĘZŁY OPCODE
None
URUCHOMIENIE
NIEKOMPATYBILNOŚĆ
ROZSZERZENIA • interbase • oci8 • mssql • pdo_oci •
pdo_dblib • sybase_ct
DROBNE ZMIANY W SKŁADNI
None
HHVM
HIPHOP FOR PHP
KOD PHP KOD C KOMPILACJA URUCHOMIENIE
HHVM
KOD PHP BYTECODE JIT COMPILER URUCHOMIENIE
HACK
• Return type hinting • Member variable types • Type-safe
collections • Generics • Type aliasing • Nullable types • Tuples • Shapes
None
None
None
None
None
XHP
TRANSPILER
ZGODNOŚĆ HHVM Z PHP
• Open Source Tests: 95.18% • 27 Frameworks at 100%
http://hhvm.com/frameworks/
URUCHAMIANIE
UŻYWAĆ?
PRZYSZŁOŚĆ
RETURN TYPE HINTING
None
KOLEJNE INTERPRETERY
SPECYFIKACJA JĘZYKA
CZY POTRZEBNE JEST WIELE INTERPRETERÓW?
Linki • http://bit.ly/phpng-zendcon • http://bit.ly/php-ast • http://bit.ly/php7timeline • https://github.com/php/php-langspec •
http://bit.ly/hhvm-phpcon2014 • https://wiki.php.net/phpng • https://wiki.php.net/phpng-int • https://wiki.php.net/rfc
PYTANIA?
DZIĘKUJĘ @leafnode http://speakerdeck.com/leafnode/