Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «покрови»
|
+ развернуть текст сохранённая копия
|
|
Категории: Кожные покровы
|
#лекарства #аптекаонлайн
Тэги: wer, кожные, покровы
[Перевод] Трамплин вызова магических функций в PHP 7
2016-09-27 12:42:21
< ...
+ развернуть текст сохранённая копия
В этой статье мы подробно рассмотрим оптимизацию в виртуальной машинe в PHP 7 (виртуальной машине Zend). Сначала коснёмся теории трамплинов вызовов функций, а затем узнаем, как они работают в PHP 7. Если вы хотите полностью во всём разобраться, то лучше иметь хорошее представление о работе виртуальной машины Zend. Для начала можете почитать, как устроена ВМ в PHP 5, а здесь мы поговорим о ВМ PHP 7. Хотя она и была переработана, но действует практически так же, как и в PHP 7. Поэтому если вы разберётесь в ВМ PHP 5, то разобраться с ВМ PHP 7 не составит никакого труда.
Читать дальше →
Тэги: group, mail.ru, php, блог, интерпретаторы, компании, компиляторы, покровов, срыв
[Перевод] Обзор расширения OPCache для PHP
2016-09-15 14:37:05
< ...
+ развернуть текст сохранённая копия
PHP — это скриптовый язык, который по умолчанию компилирует те файлы, которые вам нужно запустить. Во время компилирования он извлекает опкоды, исполняет их, а затем немедленно уничтожает. PHP был так разработан: когда он переходит к выполнению запроса R, то «забывает» всё, что было выполнено в ходе запроса R-1.
Очень маловероятно, что на production-серверах PHP-код изменится между выполнением нескольких запросов. Так что можно считать, что при компилированиях всегда считывается один и тот же исходный код, а значит и опкод будет точно таким же. И если извлекать его для каждого скрипта, то получается бесполезная трата времени и ресурсов.
Читать дальше →
Тэги: group, mail.ru, opcache, php, блог, веб-сайтов, интерпретаторы, компании, компиляторы, покровов, разработка, срыв
[Перевод] Массивы в РНР 7: хэш-таблицы
2016-08-22 19:17:55
Хэш-таблицы используются везде, в каждой серьёзной С-программе. По сути, они позволяют программисту ...
+ развернуть текст сохранённая копия
Хэш-таблицы используются везде, в каждой серьёзной С-программе. По сути, они позволяют программисту хранить значения в «массиве», индексируя его с помощью строк, в то время как в языке С допускаются только целочисленные ключи массива. В хэш-таблице строчные ключи сначала хэшируются, а затем уменьшаются до размеров таблицы. Здесь могут возникать коллизии, поэтому нужен алгоритм их разрешения. Существует несколько подобных алгоритмов, и в РНР используется стратегия связных списков (linked list).
В Сети есть немало замечательных статей, подробно освещающих устройство хэш-таблиц и их реализации. Начать можно с http://preshing.com/. Но имейте в виду, вариантов структуры хэш-таблиц — несметное множество, и ни один из них не совершенен, в каждом есть компромиссы, несмотря на оптимизацию циклов процессора, использования памяти или хорошее масштабирование потокового окружения (threaded environment). Одни варианты лучше при добавлении данных, другие — при поиске и т. д. Выбирайте реализацию в зависимости от того, что для вас важнее.
Хэш-таблицы в РНР 5 подробно рассмотрены в материале phpinternalsbook, который я написал вместе с Nikic, автором хорошей статьи про хэш-таблицы в РНР 7. Возможно, её вы тоже сочтёте интересной. Правда, она писалась до релиза, поэтому некоторые вещи в ней слегка отличаются.
Здесь же мы подробно рассмотрим, как устроены хэш-таблицы в РНР 7, как с ними можно работать с точки зрения языка С и как ими управлять средствами РНР (используя структуры, называемые массивами). Исходный код в основном доступен в zend_hash.c. Не забывайте, что хэш-таблицы мы используем везде (обычно в роли словарей), следовательно, нужно проектировать их так, чтобы они быстро обрабатывались процессором и потребляли мало памяти. Эти структуры решающе влияют на общую производительность РНР, поскольку местные массивы не единственное место, где используются хэш-таблицы.
Читать дальше →
Тэги: group, mail.ru, php, web-разработка, блог, веб-сайтов, интерпретаторы, компании, компиляторы, покровов, разработка, срыв
[Перевод] Инкремент в PHP
2016-07-20 18:06:17
< ...
+ развернуть текст сохранённая копия
Возьмите переменную и увеличьте её на 1. Звучит просто, верно? Ну… С точки зрения PHP-разработчика, наверное, да. Но так ли это на самом деле? Здесь могут возникнуть некоторые трудности. Существует несколько способов инкрементировать значения, они могут выглядеть равноценными, но под капотом PHP работают по-разному, что может привести к, так сказать, интересным результатам.
Читать дальше →
Тэги: group, mail.ru, php, блог, веб-сайтов, компании, компиляторы, покровов, разработка, срыв, теги, читает
Главная / Главные темы / Тэг «покрови»
Взлеты Топ 5
Падения Топ 5
|