Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемwww.phpconf.ru
1 PHP performance hints. Александр Веремьев (Zend Framework core team)
2 2 Передача строк по ссылке
3 3 function test1($str) { $chCounter = 0; for ($count = 0; $count < strlen($str); $count++) { if ($str[$count] == '4') $chCounter++; } return $chCounter; }
4 4 Передача строк по ссылке function test2(&$str) { $chCounter = 0; for ($count = 0; $count < strlen($str); $count++) { if ($str[$count] == '4') $chCounter++; } return $chCounter; }
5 5 Передача строк по ссылке Размер строки (Мб)test1() (сек)test2() (сек)
6 6 Циклические ссылки
7 7 Циклические ссылки в структурах объектов Object 3Object 1Object 2 Object 4 Object 5 $var1
8 8 Циклические ссылки в структурах объектов unset($var1); Object 3Object 1Object 2 Object 4 Object 5 $var1
9 9 Циклические ссылки в структурах объектов unset($var1); Object 3Object 1Object 2 Object 4 Object 5 $var1
10 10 Циклические ссылки в структурах объектов $var1Object 3Object 1Object 2 Object 4 Object 5 proxy
11 11.= оператор
12 12.= оператор и обработка больших строк $str = ''; while ($condition) {... $str.= $something; }
13 13.= оператор и обработка больших строк $str = ''; while ($condition) {... $str.= $something; }
14 14.= оператор и обработка больших строк $str = ''; while ($condition) {... $str.= $something; }
15 15.= оператор и обработка больших строк $str = ''; while ($condition) {... $str.= $something; }
16 16.= оператор и обработка больших строк $str = ''; while ($condition) {... $str.= $something; }
17 17.= оператор и обработка больших строк $substrings = array(); while ($condition) {... $substrings[] = $something; } $str = implode($substrings);
18 18 Неэффективность serialize()/unserialize()
19 19 Неэффективность serialize()/unserialize() array(134, 'test stri\'ng', array('float test', ), 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: ;}i:3;i:456;}
20 20 Неэффективность serialize()/unserialize() array(134, 'test stri\'ng', array('float test', ), 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: ;}i:3;i:456;} array(134, 'test stri\'ng', array('long test', ), 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: ;}i:3;i: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;}">
21 21 Ручной method inlining
22 22 Замена объектов массивами
23 23 Вопросы Александр Веремьев
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.