'

PHP performance hints.

Понравилась презентация – покажи это...





Слайд 0

PHP performance hints. Александр Веремьев (Zend Framework core team) alexander.v@zend.com


Слайд 1

Передача строк по ссылке


Слайд 2

Передача строк по ссылке function test1($str) { $chCounter = 0; for ($count = 0; $count < strlen($str); $count++) { if ($str[$count] == '4') $chCounter++; } return $chCounter; }


Слайд 3

Передача строк по ссылке function test2(&$str) { $chCounter = 0; for ($count = 0; $count < strlen($str); $count++) { if ($str[$count] == '4') $chCounter++; } return $chCounter; }


Слайд 4

Передача строк по ссылке


Слайд 5

Циклические ссылки


Слайд 6

Циклические ссылки в структурах объектов


Слайд 7

Циклические ссылки в структурах объектов unset($var1);


Слайд 8

Циклические ссылки в структурах объектов unset($var1);


Слайд 9

Циклические ссылки в структурах объектов


Слайд 10

.= оператор


Слайд 11

.= оператор и обработка больших строк $str = '';   while ($condition) {    ...    $str .= $something; }


Слайд 12

.= оператор и обработка больших строк $str = '';   while ($condition) {    ...    $str .= $something; }


Слайд 13

.= оператор и обработка больших строк $str = '';   while ($condition) {    ...    $str .= $something; }


Слайд 14

.= оператор и обработка больших строк $str = '';   while ($condition) {    ...    $str .= $something; }


Слайд 15

.= оператор и обработка больших строк $str = '';   while ($condition) {    ...    $str .= $something; }


Слайд 16

.= оператор и обработка больших строк $substrings = array(); while ($condition) { ... $substrings[] = $something; } $str = implode($substrings);


Слайд 17

Неэффективность serialize()/unserialize()


Слайд 18

Неэффективность serialize()/unserialize() array(134, 'test stri\'ng', array('float test', 0.0348), 456) => a:4:{i:0;i:134;i:1;s:12:"test stri'ng";i:2;a:2:{i:0;s:10:"float test";i:1; d:0.034799999999999997601918266809661872684955596923828125;}i:3;i:456;}


Слайд 19

Неэффективность serialize()/unserialize() array(134, 'test stri\'ng', array('float test', 0.0348), 456) => a:4:{i:0;i:134;i:1;s:12:"test stri'ng";i:2;a:2:{i:0;s:10:"float test";i:1; d:0.034799999999999997601918266809661872684955596923828125;}i:3;i:456;} array(134, 'test stri\'ng', array('long test', 34823734), 456) => a:4:{i:0;i:134;i:1;s:12:"test stri'ng";i:2;a:2:{i:0;s:9:"long test";i:1; i:34823734;}i:3;i:456;}


Слайд 20

Ручной “method inlining”


Слайд 21

Замена объектов массивами


Слайд 22

Вопросы Александр Веремьев alexander.v@zend.com


×

HTML:





Ссылка: