SlideShare uma empresa Scribd logo
1 de 50
Baixar para ler offline
HipHop VM:
overclocking Symfony
Vadim Borodavko
vadim.borodavko@gmail.com
HipHop – replacement for Zend PHP

© 2008 – 2013

Vadim Borodavko
01.10.2013

01.08.2013

01.06.2013

01.04.2013

01.02.2013

01.12.2012

01.10.2012

01.08.2012

01.06.2012

01.04.2012

01.02.2012

01.12.2011

01.10.2011

01.08.2011

01.06.2011

01.04.2011

01.02.2011

01.12.2010

01.10.2010

01.08.2010

01.06.2010

01.04.2010

01.02.2010

HipHop – replacement for Zend PHP

Contributors

90

80

70

60

50

40

30

20

10

0

Vadim Borodavko
Two ways

HPHPc
•
•

Up to 6x faster than Zend PHP 5.2

No source code in production

Vadim Borodavko
Two ways

HPHPc
•
•
•

Compilation takes long time
Big executable files

Dynamic code

Vadim Borodavko
Two ways

HHVM
•
•
•

JIT-compilation

Dynamic code
Edit – Save – Run

Vadim Borodavko
Two ways

HHVM
•

The need for revision of the existing
PHP-code

Vadim Borodavko
Supported OS

Mint

Ubuntu

CentOS

Mac OS

Debian

Arch

Fedora

Gentoo

FreeBSD
Vadim Borodavko
Supported OS

https://github.com/javer/gentoo-overlay

Vadim Borodavko
Compatibility with PHP

5.4.999-hiphop
PHP 5.5 – to the end of 2013 year

Vadim Borodavko
Compatibility with PHP

5.3 features
•
•
•
•
•

namespaces
late static binding
goto
Closures
ternary operator
Vadim Borodavko
Compatibility with PHP

5.4 features
•
•
•
•
•

traits
$a = [1, 2, 3, 4];
foo()[0]
Closures with $this
(new Foo)->bar()

•

Class::{expr}()

Vadim Borodavko
Compatibility with PHP

5.5 features
•
•
•
•
•

generators
finally*
list() in foreach
empty(expr)
[1, 2, 3][0]

•
•
•

password_hash()
ClassName::class
“Hello”[0]

Vadim Borodavko
Compatibility with PHP

Extensions

50+

•
•
•
•
•
•

fileinfo
imagick
intl*
mysqli
tidy
xsl
Vadim Borodavko
PHP language extension
<?hh
class Walk<T as Iterator> {
private T $iterator;
public function setIterator(T $iterator, int $count): int {
$this->iterator = $iterator;
$keys = Vector<int> {};
$values = Map<int, string> {};
foreach ($iterator as $k => $v) {
$keys->add($k);
$values[$k] = $v;
}
return count($keys);
}
}
$iter = new ArrayIterator([1 => 'first', 2 => 'second']);
echo (new Walk<ArrayIterator>)->setIterator($iter,count($iter));

Vadim Borodavko
PHP language extension

Vadim Borodavko
PHP language extension

Type hinting
private int $count;
protected string $name;
public function setCount(int $count): int {

$this->iterator = $iterator;
}

Vadim Borodavko
PHP language extension

Tuples
public $t = tuple(“Symfony”, true);

Vadim Borodavko
PHP language extension

Collections
$keys = Vector<int> {};
$values = Map<int, string> {};
$keys->add($k);

$values[$k] = $v;
echo count($keys);

Vadim Borodavko
PHP language extension

Generics, Constraints
class Walk<T as Iterator> {
private T $iter;
public function setIterator(T $iter) {
...
}
}
new Walk<ArrayIterator>();
Vadim Borodavko
Operational modes

CLI
•
•
•

PHP CLI: hhvm --php
A bit slower than Zend PHP
JIT-compilation*

Vadim Borodavko
Operational modes

Server
•
•
•
•

Apache
Compilation at startup
FastCGI – soon
RepoAuthoritative mode

Vadim Borodavko
Configuration features

config.hdf
•
•
•
•
•
•

Eval
Log
Server
VirtualHost

AdminServer

•
•
•
•
•

Stats
MySQL
Http
Mail

Tiers

StaticFile
Vadim Borodavko
Configuration features

Eval
Eval {
Jit = true
JitWarmupRequests = 11
JitASize = 536870912
JitAStubsSize = 536870912
JitGlobalDataSize = 134217728
}
Eval {
JitASize = 134217728
JitAStubsSize = 134217728
JitGlobalDataSize = 67108864
}

# 512MB
# 512MB
# 128MB

# 128MB
# 128MB
# 64MB
Vadim Borodavko
Configuration features

Server
Server {
Host = domain.tld
IP = 127.0.0.1
Port = 4247
ThreadCount = 10
SourceRoot = /var/www/domain.tld
IncludeSearchPaths {
symfony = /var/www/symfony-1.4
}
RequestTimeoutSeconds = 30
RequestMemoryMaxBytes = 134217728
}
Vadim Borodavko
Configuration features

Server startup options
Server {
DefaultDocument = index.php
StartupDocument = filename
WarmupDocument = filename
RequestInitFunction = function_name
ThreadDocuments {
* = somedoc.php
* = another.php
}
ErrorDocument404 = 404.php
FatalErrorMessage = Something wrong
}
Vadim Borodavko
Configuration features

Server http settings
Server {
...
GzipCompressionLevel = 3
EnableMagicQuotesGpc = false
EnableKeepAlive = true
EnableEarlyFlush = true
ForceChunkedEncoding = false
MaxPostSize = 65 # in MB
LibEventSyncSend = true
ResponseQueueCount = 0
...
}
Vadim Borodavko
Configuration features

VirtualHost
VirtualHost {
default {
Disabled = false
Prefix = prefix.
Pattern = .*
PathTranslation = web/
ServerName = domain.tld
ServerVariables {
name = value
}
RewriteRules { }
}
}
Vadim Borodavko
Configuration features

VirtualHost  RewriteRules
frontend {
pattern = ^(.*)$
to = app.php/$1
qsa = true
conditions {
not_script {
pattern = .php$
type = request
negate = true
}
}
}
Vadim Borodavko
Configuration features

AdminServer, StaticFile
AdminServer {
Port = 4248
ThreadCount = 1
Password = password
}
StaticFile {
Extensions {
bmp = image/bmp
}
Generators {
* = static_resource.php
}
}
Vadim Borodavko
Configuration features

Stats, MySQL

Stats {
Web = false
Memory = false
APC = false
APCKey = false
SQL = false
}
MySQL {
ReadOnly = false
ConnectTimeout = 1000
ReadTimeout = 4000
SlowQueryThreshold = 2000
KillOnTimeout = false
}

Vadim Borodavko
Configuration features

Http, Mail, Tiers

Http {
DefaultTimeout = 30
SlowQueryThreshold = 5000
}
Mail {
SendmailPath = sendmail -t -i
ForceExtraParameters =
}
Tiers {
* {
machine = /regex pattern/
overwrite { ... }
}
}

Vadim Borodavko
Configuration features

Vadim Borodavko
Performance: HHVM vs PHP

1.4
Time, ms

Memory, KB

URL
PHP 5.3 PHP 5.5 HHVM 2.2 PHP 5.3 PHP 5.5 HHVM 2.2
/

58

49

17

18 668

16 128

615

/politics

57

48

16

18 688

15 872

598

/publication/5
129-

68

54

18

23 808

20 736

607

/publication

56

45

17

18 176

15 360

606

/issue/92

51

40

15

17 408

14 592

617

/app

45

36

13

16 128

13 824

498

/time

56

45

16

18 432

15 616

554

/tag/siriya

61

49

18

18 784

16 032

586
Vadim Borodavko
Performance: HHVM vs PHP

1.4
HHVM 2.2
PHP 5.5
PHP 5.3

Time, ms

0

10

20

30

40

50

60

HHVM 2.2
PHP 5.5
PHP 5.3

Memory, MB

0

5

10

15

20
Vadim Borodavko
Performance: HHVM vs PHP

2.3
Time, ms

Memory, KB

URL
PHP 5.3 PHP 5.5

HHVM 2.2

PHP 5.3 PHP 5.5 HHVM 2.2

/

119

91

67

13 056

10 240

796

/t/t-shirts

139

105

74

15 360

12 032

1 315

/p/t-shirtautem

123

94

68

15 616

11 264

662

/cart

106

81

63

13 056

10 240

550

/register/

109

84

64

14 336

10 752

571

/login

102

78

61

12 288

9 728

549
Vadim Borodavko
Performance: HHVM vs PHP

2.3
HHVM 2.2
PHP 5.5
PHP 5.3

Time, ms

0

50

100

150

HHVM 2.2
PHP 5.5
PHP 5.3

Memory, MB

0

5

10

15
Vadim Borodavko
HHVM with your project

Vagrant
$ git clone https://github.com/javer/hhvm-vagrant-vm

$ cd hhvm-vagrant-vm
$ cp -R /var/www/site/* ./
$ vagrant up
$ wget http://127.0.0.1:9080/
$ wget http://127.0.0.1:9081/

Vadim Borodavko
HHVM with your project

1.4
•

Symfony
https://github.com/javer/symfony1

• sfPropelORMPlugin
https://github.com/propelorm/sfPropelORMPlugin

•

Propel
https://github.com/propelorm/Propel

•

Phing 2.6+
https://github.com/phingofficial/phing
Vadim Borodavko
HHVM with your project

2.3

•
•
•
•

Doctrine DBAL
Doctrine 2 ORM

Twig
ResourceBundle

Vadim Borodavko
HHVM with your project

Doctrine DBAL
•

2.3

func_get_args
https://github.com/doctrine/dbal/pull/372

•

implement declared interfaces
https://github.com/doctrine/dbal/pull/373
PDOConnection extends PDO implements Connection
PDOStatement extends PDOStatement implements Statement
Vadim Borodavko
HHVM with your project

Doctrine 2 ORM
•

2.3

func_get_args
https://github.com/doctrine/doctrine2/pull/790

•

Preserve class property DocComment for reflection
https://github.com/facebook/hhvm/pull/1199

Vadim Borodavko
HHVM with your project

Twig
•

2.3

Array sometimes can be Traversable
https://github.com/fabpot/Twig/pull/1192

Vadim Borodavko
HHVM with your project

2.3
• ResourceBundle
https://github.com/javer/hhvm/tree/intlresourcebundle/hphp/system/php/intl

Vadim Borodavko
Popular frameworks and CMS support

HHVM 2.2-dev
Framework

% Unit Tests
Pass

% Unit Tests
Failing

Symfony 2
Doctrine DBAL
Doctrine 2 ORM
Twig
PHPUnit
Composer
Symfony 1.4

98.12
97.61
99.41
100
90.52
99.13
97

1.51
1.39
0.59
0
9.48
0.87
3

% Unit Tests
Causing HHVM
to Fatal
0.37
1.00
0
0
0
0
0

Vadim Borodavko
Popular frameworks and CMS support

HHVM 2.1
Framework

% Unit Tests Pass

% Unit Tests Failing

PHPUnit
Composer
Symfony
CakePHP
Wordpress
Joomla
phpBB
phpMyAdmin
Laravel
Zend Framework 2
yii
Slim
Doctrine
Assetic
Twig
Drupal
Paris
Idiorm
CodeIgniter
Magento

90
97
91
0
76
0
0
0
95
0
92
99
0
80
78
98
100
100
81
0

10
3
9
Tests won't run
24
Tests won't run
100
Tests won't run
3
Tests won't run
8
1
Tests won't run
20
22
2
0
0
19
Tests won't run

% Unit Tests Causing
HHVM to Fatal
0
<1
<1
Tests won't run
<1
Tests won't run
0
Tests won't run
2
Tests won't run
<1
0
Tests won't run
0
0
0
0
0
<1
Tests won't run
Vadim Borodavko
Competitors

Vadim Borodavko
Competitors

kPHP
•
•
•

Translator PHP into C++
Strict typing

Vkontakte size – 300 MB

Vadim Borodavko
Competitors

kPHP
does not
support OOP

at all.
© 2013
Vadim Borodavko
About me

Vadim Borodavko
• Chief Software Developer at Argentum IT Lab
• E-mail: vadim.borodavko@gmail.com
• GitHub: https://github.com/javer
• LinkedIn: http://linkedin.com/in/javer
• Twitter: https://twitter.com/mrjaver

All trademarks are property of their respective owners

Vadim Borodavko

Mais conteúdo relacionado

Mais procurados

Apache and PHP: Why httpd.conf is your new BFF!
Apache and PHP: Why httpd.conf is your new BFF!Apache and PHP: Why httpd.conf is your new BFF!
Apache and PHP: Why httpd.conf is your new BFF!Jeff Jones
 
Ruby in the Browser - RubyConf 2011
Ruby in the Browser - RubyConf 2011Ruby in the Browser - RubyConf 2011
Ruby in the Browser - RubyConf 2011Ilya Grigorik
 
HTTP2:新的机遇与挑战
HTTP2:新的机遇与挑战HTTP2:新的机遇与挑战
HTTP2:新的机遇与挑战Jerry Qu
 
LCA2014 - Introduction to Go
LCA2014 - Introduction to GoLCA2014 - Introduction to Go
LCA2014 - Introduction to Godreamwidth
 
Ruby HTTP clients comparison
Ruby HTTP clients comparisonRuby HTTP clients comparison
Ruby HTTP clients comparisonHiroshi Nakamura
 
ApacheCon 2014 - What's New in Apache httpd 2.4
ApacheCon 2014 - What's New in Apache httpd 2.4ApacheCon 2014 - What's New in Apache httpd 2.4
ApacheCon 2014 - What's New in Apache httpd 2.4Jim Jagielski
 
A rough guide to JavaScript Performance
A rough guide to JavaScript PerformanceA rough guide to JavaScript Performance
A rough guide to JavaScript Performanceallmarkedup
 
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0Cory Forsyth
 
HTTP 2.0 Why, How and When
HTTP 2.0 Why, How and WhenHTTP 2.0 Why, How and When
HTTP 2.0 Why, How and WhenCodemotion
 
Php through the eyes of a hoster
Php through the eyes of a hosterPhp through the eyes of a hoster
Php through the eyes of a hosterCombell NV
 
Introduction to performance tuning perl web applications
Introduction to performance tuning perl web applicationsIntroduction to performance tuning perl web applications
Introduction to performance tuning perl web applicationsPerrin Harkins
 
What HTTP/2.0 Will Do For You
What HTTP/2.0 Will Do For YouWhat HTTP/2.0 Will Do For You
What HTTP/2.0 Will Do For YouMark Nottingham
 
HTTP/2 Introduction
HTTP/2 IntroductionHTTP/2 Introduction
HTTP/2 IntroductionWalter Liu
 
HTTP Caching in Web Application
HTTP Caching in Web ApplicationHTTP Caching in Web Application
HTTP Caching in Web ApplicationMartins Sipenko
 

Mais procurados (20)

Apache and PHP: Why httpd.conf is your new BFF!
Apache and PHP: Why httpd.conf is your new BFF!Apache and PHP: Why httpd.conf is your new BFF!
Apache and PHP: Why httpd.conf is your new BFF!
 
Ruby in the Browser - RubyConf 2011
Ruby in the Browser - RubyConf 2011Ruby in the Browser - RubyConf 2011
Ruby in the Browser - RubyConf 2011
 
HTTP2:新的机遇与挑战
HTTP2:新的机遇与挑战HTTP2:新的机遇与挑战
HTTP2:新的机遇与挑战
 
LCA2014 - Introduction to Go
LCA2014 - Introduction to GoLCA2014 - Introduction to Go
LCA2014 - Introduction to Go
 
Ruby HTTP clients comparison
Ruby HTTP clients comparisonRuby HTTP clients comparison
Ruby HTTP clients comparison
 
ApacheCon 2014 - What's New in Apache httpd 2.4
ApacheCon 2014 - What's New in Apache httpd 2.4ApacheCon 2014 - What's New in Apache httpd 2.4
ApacheCon 2014 - What's New in Apache httpd 2.4
 
A rough guide to JavaScript Performance
A rough guide to JavaScript PerformanceA rough guide to JavaScript Performance
A rough guide to JavaScript Performance
 
Perl comet
Perl cometPerl comet
Perl comet
 
Elastic stack
Elastic stackElastic stack
Elastic stack
 
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
 
HTTP 2.0 Why, How and When
HTTP 2.0 Why, How and WhenHTTP 2.0 Why, How and When
HTTP 2.0 Why, How and When
 
Varnish
VarnishVarnish
Varnish
 
Php through the eyes of a hoster
Php through the eyes of a hosterPhp through the eyes of a hoster
Php through the eyes of a hoster
 
Introduction to performance tuning perl web applications
Introduction to performance tuning perl web applicationsIntroduction to performance tuning perl web applications
Introduction to performance tuning perl web applications
 
Caching on the Edge
Caching on the EdgeCaching on the Edge
Caching on the Edge
 
What HTTP/2.0 Will Do For You
What HTTP/2.0 Will Do For YouWhat HTTP/2.0 Will Do For You
What HTTP/2.0 Will Do For You
 
Ruby HTTP clients
Ruby HTTP clientsRuby HTTP clients
Ruby HTTP clients
 
HTTP/2 Introduction
HTTP/2 IntroductionHTTP/2 Introduction
HTTP/2 Introduction
 
HTTP Caching in Web Application
HTTP Caching in Web ApplicationHTTP Caching in Web Application
HTTP Caching in Web Application
 
Usenix lisa 2011
Usenix lisa 2011Usenix lisa 2011
Usenix lisa 2011
 

Semelhante a HipHop VM: overclocking Symfony

HTTP logging met Varnishlog - PHPWVL 2022
HTTP logging met Varnishlog - PHPWVL 2022HTTP logging met Varnishlog - PHPWVL 2022
HTTP logging met Varnishlog - PHPWVL 2022Thijs Feryn
 
Quick and Dirty Python Deployments with Heroku
Quick and Dirty Python Deployments with HerokuQuick and Dirty Python Deployments with Heroku
Quick and Dirty Python Deployments with HerokuDaniel Pritchett
 
Http capturing
Http capturingHttp capturing
Http capturingEric Ahn
 
Profiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / WebgrindProfiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / WebgrindSam Keen
 
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San FranciscoHTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San FranciscoAlessandro Nadalin
 
ApacheConNA 2015: What's new in Apache httpd 2.4
ApacheConNA 2015: What's new in Apache httpd 2.4ApacheConNA 2015: What's new in Apache httpd 2.4
ApacheConNA 2015: What's new in Apache httpd 2.4Jim Jagielski
 
How To Start Up With PHP In IBM i
How To Start Up With PHP In IBM iHow To Start Up With PHP In IBM i
How To Start Up With PHP In IBM iSam Pinkhasov
 
How To Start Up With Php In Ibm I
How To Start Up With Php In Ibm IHow To Start Up With Php In Ibm I
How To Start Up With Php In Ibm IAlex Frenkel
 
10 Million hits a day with WordPress using a $15 VPS
10 Million hits a day  with WordPress using a $15 VPS10 Million hits a day  with WordPress using a $15 VPS
10 Million hits a day with WordPress using a $15 VPSPaolo Tonin
 
Converting Your Dev Environment to a Docker Stack - Cascadia
Converting Your Dev Environment to a Docker Stack - CascadiaConverting Your Dev Environment to a Docker Stack - Cascadia
Converting Your Dev Environment to a Docker Stack - CascadiaDana Luther
 
PHP Sessions and Non-Sessions
PHP Sessions and Non-SessionsPHP Sessions and Non-Sessions
PHP Sessions and Non-SessionsSven Rautenberg
 
Razor, the Provisioning Toolbox - PuppetConf 2014
Razor, the Provisioning Toolbox - PuppetConf 2014Razor, the Provisioning Toolbox - PuppetConf 2014
Razor, the Provisioning Toolbox - PuppetConf 2014Puppet
 
Apache HTTPD 2.4 - GWO2016
Apache HTTPD 2.4 - GWO2016Apache HTTPD 2.4 - GWO2016
Apache HTTPD 2.4 - GWO2016Jim Jagielski
 
High performance web server
High performance web serverHigh performance web server
High performance web serverWataru OKAMOTO
 
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP MeetupWeb Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP MeetupJonathan Klein
 
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!MongoDB
 

Semelhante a HipHop VM: overclocking Symfony (20)

HTTP logging met Varnishlog - PHPWVL 2022
HTTP logging met Varnishlog - PHPWVL 2022HTTP logging met Varnishlog - PHPWVL 2022
HTTP logging met Varnishlog - PHPWVL 2022
 
Quick and Dirty Python Deployments with Heroku
Quick and Dirty Python Deployments with HerokuQuick and Dirty Python Deployments with Heroku
Quick and Dirty Python Deployments with Heroku
 
Nginx pres
Nginx presNginx pres
Nginx pres
 
Http capturing
Http capturingHttp capturing
Http capturing
 
Profiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / WebgrindProfiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / Webgrind
 
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San FranciscoHTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
 
Websockets
WebsocketsWebsockets
Websockets
 
ApacheConNA 2015: What's new in Apache httpd 2.4
ApacheConNA 2015: What's new in Apache httpd 2.4ApacheConNA 2015: What's new in Apache httpd 2.4
ApacheConNA 2015: What's new in Apache httpd 2.4
 
How To Start Up With PHP In IBM i
How To Start Up With PHP In IBM iHow To Start Up With PHP In IBM i
How To Start Up With PHP In IBM i
 
How To Start Up With Php In Ibm I
How To Start Up With Php In Ibm IHow To Start Up With Php In Ibm I
How To Start Up With Php In Ibm I
 
10 Million hits a day with WordPress using a $15 VPS
10 Million hits a day  with WordPress using a $15 VPS10 Million hits a day  with WordPress using a $15 VPS
10 Million hits a day with WordPress using a $15 VPS
 
Converting Your Dev Environment to a Docker Stack - Cascadia
Converting Your Dev Environment to a Docker Stack - CascadiaConverting Your Dev Environment to a Docker Stack - Cascadia
Converting Your Dev Environment to a Docker Stack - Cascadia
 
PHP Sessions and Non-Sessions
PHP Sessions and Non-SessionsPHP Sessions and Non-Sessions
PHP Sessions and Non-Sessions
 
Razor, the Provisioning Toolbox - PuppetConf 2014
Razor, the Provisioning Toolbox - PuppetConf 2014Razor, the Provisioning Toolbox - PuppetConf 2014
Razor, the Provisioning Toolbox - PuppetConf 2014
 
Apache httpd v2.4
Apache httpd v2.4Apache httpd v2.4
Apache httpd v2.4
 
Apache HTTPD 2.4 - GWO2016
Apache HTTPD 2.4 - GWO2016Apache HTTPD 2.4 - GWO2016
Apache HTTPD 2.4 - GWO2016
 
High performance web server
High performance web serverHigh performance web server
High performance web server
 
The SPDY Protocol
The SPDY ProtocolThe SPDY Protocol
The SPDY Protocol
 
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP MeetupWeb Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
 
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
 

Último

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Último (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

HipHop VM: overclocking Symfony