$30 off During Our Annual Pro Sale. View Details »
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
300
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
400
Practical PHP7
leafnode
2
470
Dobrze posól swoje hasło
leafnode
0
110
Dobrze posól swoje hasło (z notatkami)
leafnode
0
99
PHPNG kontra HHVM
leafnode
0
110
PHPNG kontra HHVM (z notatkami)
leafnode
0
73
Sculpin - Generowanie statycznych stron w PHP
leafnode
2
66
Skalowanie aplikacji PHP
leafnode
1
420
Varnish to the Rescue
leafnode
0
130
Other Decks in Programming
See All in Programming
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
3
1.5k
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
230
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
170
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
130
[SF Ruby Conf 2025] Rails X
palkan
0
400
競馬で学ぶ機械学習の基本と実践 / Machine Learning with Horse Racing
shoheimitani
14
14k
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
10
5k
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
290
TypeScript 5.9 で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
580
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
6
2.8k
レイトレZ世代に捧ぐ、今からレイトレを始めるための小径
ichi_raven
0
480
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
10
10k
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
225
10k
Making Projects Easy
brettharned
120
6.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The Pragmatic Product Professional
lauravandoore
37
7k
Six Lessons from altMBA
skipperchong
29
4.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Producing Creativity
orderedlist
PRO
348
40k
Fireside Chat
paigeccino
41
3.7k
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/