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
260
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
400
Dobrze posól swoje hasło
leafnode
0
69
Dobrze posól swoje hasło (z notatkami)
leafnode
0
61
PHPNG kontra HHVM
leafnode
0
75
PHPNG kontra HHVM (z notatkami)
leafnode
0
36
Sculpin - Generowanie statycznych stron w PHP
leafnode
2
49
Skalowanie aplikacji PHP
leafnode
1
390
Varnish to the Rescue
leafnode
0
100
Other Decks in Programming
See All in Programming
Some Quick Ideas To Improve Your Tests ( #jassttokyo )
teyamagu
PRO
2
2.3k
incrementalモデルの理解を深める
ikkimiyazaki
2
630
どうしてこうなった命名集 ~🔥編~ / OOC 2024 LT
pictiny
4
2.7k
WebComponentsで フレームワークを1ページに共存させる
webuilder240
0
150
Compiling Python to WebAssembly with py2wasm
syrusakbary
0
130
phpunit/php-code-coverageって何をしてるんだ #phperkaigi
o0h
PRO
2
210
Understanding Ast By Looking
inouehi
0
120
品質とスピードを両立: TypeScriptの柔軟な型システムをバックエンドで活用する
kosui
4
840
Crafting a Own PHP - ウキウキ手作りミニマリストPHP
uzulla
4
1.1k
OpenAPI を守るのは難しい
ohmori_yusuke
1
140
Building a Smaller App Binary
kateinoigakukun
2
200
自作ソフト(VMagicMirror)がVRMA対応してる話+実装のTips
bakudreameater
0
110
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
185
15k
Building Adaptive Systems
keathley
29
1.8k
Docker and Python
trallard
33
2.6k
Thoughts on Productivity
jonyablonski
57
3.8k
The Cost Of JavaScript in 2023
addyosmani
13
3.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
10 Git Anti Patterns You Should be Aware of
lemiorhan
644
57k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
219
21k
YesSQL, Process and Tooling at Scale
rocio
160
13k
How STYLIGHT went responsive
nonsquared
92
4.7k
Code Review Best Practice
trishagee
54
15k
Making the Leap to Tech Lead
cromwellryan
122
8.4k
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/