| 
					
					
						Какой рейтинг вас больше интересует?
						
						
						
					 | 
						Главная /  Главные темы /  Тэг «компиляторы» 
						
							
																																					[Перевод] Обзор расширения OPCache для PHP   2016-09-15 14:37:05
										
										  
< ... 
										
										+ развернуть текст   сохранённая копия 
										  
PHP — это скриптовый язык, который по умолчанию компилирует те файлы, которые вам нужно запустить. Во время компилирования он извлекает опкоды, исполняет их, а затем немедленно уничтожает. PHP был так разработан: когда он переходит к выполнению запроса R, то «забывает» всё, что было выполнено в ходе запроса R-1.
 
Очень маловероятно, что на production-серверах PHP-код изменится между выполнением нескольких запросов. Так что можно считать, что при компилированиях всегда считывается один и тот же исходный код, а значит и опкод будет точно таким же. И если извлекать его для каждого скрипта, то получается бесполезная трата времени и ресурсов. 
  Читать дальше →
										 
										Тэги: group , mail.ru , opcache , php , блог , веб-сайтов , интерпретаторы , компании , компиляторы , покровов , разработка , срыв [СПб, Анонс] Встреча CodeFreeze с разработчиком PHP Дмитрием Стоговым про внутреннее устройство виртуальной машины PHP   2016-09-02 17:03:27
										 
										 ... , разработчиком компилятора PHP , сотрудником ... 
										
										+ развернуть текст   сохранённая копия 
										В среду, 7 сентября, в 20:00 в питерском офисе компании JetBrains состоится встреча с Дмитрием Стоговым, разработчиком компилятора PHP, сотрудником Zend Technologies. Тема встречи — внутреннее устройство виртуальной машины PHP и, в частности, последние изменения в PHP 7.   Участие, как всегда, бесплатное. Регистрация — по ссылке. Количество мест ограничено. О докладеВиртуальная машина PHP имеет различные внутренние изменения, однако самые интересные — поднимающие производительность от версии к версии. Именно о них расскажет Дмитрий, уделив внимание последним изменениям, реализованным в PHP 7 и принесшим двукратное улучшение, и новым идеям, реализуемым в ещё не выпущенных версиях. Доклад будет интересен всем интересующимся разработкой интерпретируемых языков программирования.  Читать дальше →
										 
										Тэги: backend , codefreeze , group , jug.ru , performance , php , php7 , phpstorm , блог , виртуальная , компании , компиляторы , машина , митапы 64bit-арифметика в браузере и WebAssembly   2016-08-31 21:39:55
										
										  + развернуть текст   сохранённая копия 
 
										 WebAssembly активно разрабатывается и уже достиг состояния, когда собранный модуль можно попробовать в Chrome Canary и Firefox Nightly, включив флажок в настройках.
 Сравним производительность арифметических вычислений с 64-битными числами в WebAssembly, asm.js, PNaCl и native-коде. Посмотрим на инструменты, которые есть для WebAssembly сейчас, и заглянем в недалёкое будущее.  Читать дальше →
										 
										Тэги: argon2 , benchmark , javascript , llvm , pnacl , wasm , webassembly , браузеры , веб-сайтов , компиляторы , программирование , разработка [Перевод] Массивы в РНР 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 |