@prophp7

Страница 664 из 1387
Dmitry
06.10.2017
21:28:46
ну в том смысле что опкоды будут знать уже про типы данных а не ожидать что угодно

Alex
06.10.2017
21:29:18
В воскресенье пойду пускать это в продакшн.

Dmitry
06.10.2017
21:29:32
самое лучшее время для прода))

Alex
06.10.2017
21:29:36
На пару с админом.

Google
Alex
06.10.2017
21:30:14
Так в другое время не дают это сделать. Ибо работают

самое лучшее время для прода))
Так сейчас не сезон. И в воскресенье народ не работает.

Админ там ещё что-то переносить будет. С коллегой.

Воскресенье, пивзавод, обновление прода.....

Точнее замена виртуалки

Солью образ со своего компа. Звоню свежий дамп мускула. Вырублю старую и сменю ip у новой на старый.

Думаю часа за 4 управимся

Rg
06.10.2017
21:36:26
Чуваки, opencv на лица никто не учил?

Mikhail
06.10.2017
21:36:45
в 7.1 fatal ы на warning бывшие, мы пока на 7.0 из за этого, слишком пока много править

Dmitriy
06.10.2017
21:39:13
хмм, а при опкеше разве не будет уже "готовых" классов в параметрах?
я читал про производительность. там как раз сравнивали с типами и без .

Dmitry
06.10.2017
21:39:38
Google
Dmitriy
06.10.2017
21:40:18
видимо не очень

Sergey
06.10.2017
21:42:03
если про выполнение кода, то не ускоряет
- оптимизация для канкатенации - устранение мертвого кода - специализация опкодов

и это то что сходу вспомнил

Dmitry
06.10.2017
21:42:29
https://stackoverflow.com/questions/32940170/are-scalar-and-strict-types-in-php7-a-performance-enhancing-feature

сама по себе типизация не ускоряет

Literally yesterday, PHP 7.1 got something really similar: There are now type specific handlers for some high frequency opcodes like ZEND_ADD. Opcache is able to infer the type of some variables, it's even able to infer the types of variables within an array in some cases and change opcodes generated to use the normal ZEND_ADD, to use a type specific handler:

тоесть при генерации опкеша будет сгенерен оптимальный вариант инструкции с учетом типа данных, правильно?

Sergey
06.10.2017
21:46:27
сама по себе типизация не ускоряет
проверка типов - наоборот замедляет

но информация о типах позволяет задавать более специализированные инструкции

Dmitry
06.10.2017
21:47:16
только первый запуск, пока анализируется сам скрипт и собирается опкеш

jit-компиляция точно также работает

Sergey
06.10.2017
21:47:38
только первый запуск, пока анализируется сам скрипт и собирается опкеш
какая разница если ты на выходе другой сэт опкодов получишь?

jit-компиляция точно также работает
так aot компиляция работает

jit - это всякие инлайн кэши, статистический анализ типов и т.д. то есть видоизменение потока команд в рантайме

ну и вместо статичной виртуальной машины ты получаешь кодогенерацию в том же рантайме

(статичной - значит поток машинных инструкций одинаковый, меняется только что вызываешь)

Dmitry
06.10.2017
21:49:53
какая разница если ты на выходе другой сэт опкодов получишь?
ммм? есть срипт, интерпретатор не знает что там внутри, при первом выполнении он генерит набор опкодов, смотрит на типы данных чтобы подобрать наиболее оптимальные и прочее... при условии что кеш не протух и скрипт не менялся повторный анализ скрипта выполняться не будет

или это как-то иначе работает?))

Google
Sergey
06.10.2017
21:50:58
интерпритатор - это уже штука которая тупо обрабатывает поток опкодов

то есть opcache влияет на скорость работы не только потому что устраняет довольно жирный процесс разбора кода повторый

Dmitry
06.10.2017
21:51:38
ну мы сейчас не углубляемся настолько, чтобы поэтапно рассматривать. есть исполняемый файл которому скармливаем файл и на выходе получаем опкеш

Sergey
06.10.2017
21:52:25
ну и нюанс - в контексте CLI приложений профит от opcache без jit - сомнительный. Хотя специализация опкодов может чего и ускорит

Sergey
06.10.2017
21:54:13
а чем cli так сильно отличается?
тем что нет разделяемой памяти, тем что сам факт устранения фазы парсинга не особо там чего экономит... ну если у тебя скрипт только и делает что строки канкатенирует - тут профит да будет))

а так - процесс умер - кэша нет

есть дамп кэша в файл - если тебе надо очень часто рестартовать cli приложение

тут профит будет

но это такой же профит насколько сомнительно решение делать подобные короткоживущие процессы

Dmitry
06.10.2017
21:57:49
ну а всякая хрень которая по крону происходит, например? там как раз на уровне перемешивания всяких массивов операции

Sergey
06.10.2017
22:01:37
ну а всякая хрень которая по крону происходит, например? там как раз на уровне перемешивания всяких массивов операции
перемешивания массивов opcache вряд-ли сильно оптимизирует. Да и лишние 10 милисекунд на бутстраппинг там не так критичны

оно будет критично когда у тебя баш скрипт в бесконечном лупе например стартует php скрипты на секундочку что-то помашнить со строками например

вот тут профит от opcache небольшой да будет)

https://github.com/zendtech/ZendOptimizerPlus/blob/master/Optimizer/optimize_temp_vars_5.c

вот например интересный кусок

Dmitry
06.10.2017
22:04:21
вот буквально недавно читал по поводу всего этого дела у одной компании (они переводились тоже на 7.х и заодно типизацию подрубили) вроде авито, не помню. там про все это упоминается

Google
Sergey
06.10.2017
22:05:16
оно реально нужно про это думать когда у тебя эта спичка - лишних 10 серваков

и то скорее всего лучше проверить может где еще индекс в базу поставить

Dmitry
06.10.2017
22:05:43
так разговор про то что "убрать тайпхинтинг что бы быстрее и с огоньком"?)
не, я говорил про то, что строгая типизация сама по себе прироста не дает, но в связке с опкешем прирост выглядит логичным

Dmitry
06.10.2017
22:06:54
на том и порешили)) а гитхабу не помешало бы сворачивание блоков кода и переход на функции

Sergey
06.10.2017
22:07:22
/* pass 2: * - convert non-numeric constants to numeric constants in numeric operators * - optimize constant conditional JMPs * - optimize static BRKs and CONTs */

Dmitry
06.10.2017
22:07:24
в примере только 200 строк, и это хорошо, но это далеко не всегда так))

Sergey
06.10.2017
22:07:28
вот хорошая оптимизация еще

Dmitry
06.10.2017
22:08:02
CONT это новая итерация?

Sergey
06.10.2017
22:08:37
https://github.com/php/php-src/tree/master/ext/opcache/Optimizer

старый код смотрю

вот тут вся смакота

CONT это новая итерация?
да, брэйки и континью

Dmitry
06.10.2017
22:10:08
не, си это такая штука, которую вот так просто за чашечкой кофе на гитхабе не полистаешь. тут нужна навигация по коду и прочие плюшки))

хотя может отвык уже хз

Sergey
06.10.2017
22:11:33
ну в целом да)

блин надо поразбираться что они там намутили

а то за клепанием контроллеров совсем мозг атрофируется

Dmitry
06.10.2017
22:14:35
а nginx-init никто не пробовал? в контексте php разумеется

Sergey
06.10.2017
22:14:59
unit?

Google
Sergey
06.10.2017
22:15:11
да как-то лениво пока никто не сделает норм образ под докер

https://hub.docker.com/r/airycanon/nginx-unit-php/

а не, сделали

но в продакшен пока никак...

Rinat
06.10.2017
22:24:47
что-то очень много камин сунов

TLS support (coming soon) TCP, HTTP, HTTPS, HTTP/2 routing and proxying (coming soon)

Igor
06.10.2017
22:30:14
Объясните на пальцах плз, зачем нужен нгинх юнит если нгинх и так стоит как реверс прокси везде..?

Sergey
06.10.2017
22:33:01
что бы у тебя один процесс и http обрабатывал и php запускал

типа apache

только быстрый

application сервер короч

например вот мой кейс. Есть у меня приложуха развернутая в класстере aws. Перед ней стоит балансировщик. На нодах висят php-fpm-ы который умеют обрабатывать fastcgi запросы по tcp. Так вот, балансировщик в этом случае максимум может проверить слушает кто порт или нет. Этого сильно недостаточно для налаживания нормальных хэлс чеков. Потому мне приходится на каждой ноде с php-fpm держать еще nginx. Что бы можно было с каждой нодой в отдельности общаться и опрашивать статус/собирать метрики и на основе этого делать нормальный автоматизированный пайплайн деплоя с откатом изменений если что-то идет не так

(про откат изменений это я соврал, мы на континиул деливери перейдем пожалуй когда nginx unit будет уже обыденностью)

ну и просто если пересчитать количество пакетов которое удваивается на каждую такую "проксю" - можно слегка охереть

если бы у нас еще небыло необходимости с nginx-а статику сервить, то можно было бы сверху route 53 повесить и жить не тужить

Igor
06.10.2017
22:42:55
Приблизительно ясно

Sergey
07.10.2017
20:22:20
у fpm ping.path и pm.status_path есть для мониторинга, смысл держать ещё nginx?
мне этого не хватает что бы быстро определить жизнеспособность приложения

Ivan
07.10.2017
22:06:02
Добрый ночи, хотел бы обратиться ко всем и спросить... Купил очень клевую мышку DPI 4800, + удобная, имеются пару кнопок 5 большенство из по не видят пару кнопок и воспринимают их как левый шелчек.... Мне хотелось бы подвязать кнопку создать новую папку, создать файл, записать в блокнот выделенное, открыть сайт по ссылки, переход назад в браузере. Может ли кто подсказать имется ли такая программа которая сможет сделать перечисленное? + автоматизация мышки с со списком действий переход координат + действие как запись что делал мышкой клавой в шаблон, запись с монитора, и есть ли прога которая может типо над этаж на клаве сделать, то есть зажал кнопки, клавиатура поменяла раскладку и клавиши выполняют комманду или запускают скрипт, или прогу...

Страница 664 из 1387