Александр Мочалыгин, calltouch.net — РНР7 и равен ли переезд...

19
Четвертая конференция разработчиков ПО«DevParty» 2 апреля 2016 года, Вологда Мочалыгин Александр PHP7 и равен ли переезд двум пожарам?

Upload: devparty

Post on 18-Jan-2017

177 views

Category:

Education


5 download

TRANSCRIPT

Page 1: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?

Четвертая конференция разработчиков ПО«DevParty»

2 апреля 2016 года, Вологда

Мочалыгин Александр

PHP7 и равен ли переезд двум пожарам?

Page 2: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?

Четвертая конференция разработчиков ПО«DevParty»

2 апреля 2016 года, Вологда

Оксенюк Роман

О самом лучшем языке программирования в мире

Page 3: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?

Счётчик и подменаБыло:

Стало:

Page 4: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?

Счётчик и подменаl 2 сервераl ~ 4 000 сайтовl ~ 1 000 000 сессий в суткиl Динамические и статические пулы

Page 5: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?

Аналитикаl 3 сервера на бекендеl 3 сервера на фронтенде

Page 6: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?

l Много серверов, иногда в разной конфигурации

l Много legacy-кодаl Много кода, написанного разными фрилансерами

l Работающая система

l Автоматический тест на 500-ые ошибки

l Можно поставить параллельно

l Ожидания

Pro и Contra

Page 7: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?

Тестыl PHP 5.6l Время – 33 сек

l PHP 7l Время: 17 секl Память: -14%l Утекло: -52%

Page 8: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?

Печалька 1l Разные конфигиl Проверить timezone, memory_limit, mods, проч.

Page 9: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?

Печалька 2l PHP Warning: Leaked 1 hashtable iterators in Unknown on line 0

l I don't know what the root cause for the warning is. However I just fixed the condition (https://github.com/php/php-src/commit/fd955551070013464b4e909a79ab7e4b8abc90f7). The warning was supposed to show only in debug builds, but due to a typo it also showed up in release builds. With this fix, you should not see it anymore.

l Regards, Nikita

Page 10: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?

Печалька 3

\Exception → \Throwable

l class Exception implements Throwablel class Error implements Throwable

Page 11: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?

Печалька 4

foo( (bar()) ) не работает

l function foo( &$val )

Page 12: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?

Другие печалькиl list()l set_exception_handler() l $$foo['bar']['baz']l globall foreachl integerl Division By Zero

Page 13: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?

Ништяк 1

Короткий синтаксис use

Page 14: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?

Ништяк 2l Быстрые массивыl Большие массивы на порядки быстрее без использования SplFixedArray или Judy

l $array = [];l for ($i = 1; $i < 10000000; $i++)l $array[$i] = $i * 2;

Page 15: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?

Ништяк 3l Анонимные классы

Page 16: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?

Ништяк 4l ??

Page 17: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?

Ништяк 5

Безопасный unserialize()

Page 18: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?

Ништяк 6

Строгое типизирование

Page 19: Александр Мочалыгин, Calltouch.net — РНР7 и равен ли переезд двум пожарам?

#всемколтачl Мочалыгин Александрl +7 999 816 1024l [email protected]