@symfony_php

Страница 237 из 1418
Sergey
18.06.2017
09:08:40
запили инкрементный кэш)
эт тяжко, не факт что он когда-то будет

Daniel
18.06.2017
12:05:53
Компиляция контейнера 30 секунд?

Sergey
18.06.2017
12:35:10
да, дольше даже

около 40

Google
Sergey
18.06.2017
12:35:29
у меня контейнер на 60к строк выходит

много времени тратит на анализ референсов и инлайнинг

Sergey
18.06.2017
12:41:02
@mkusher ты ж в задачках на графы шаришь, как можно оптимизировать процесс анализа зависимостей?)

Sergey
18.06.2017
12:41:43
дело не в графе

Sergey
18.06.2017
12:41:47
в целом я лично не вижу никаких способов это оптимизировать

Sergey
18.06.2017
12:41:48
а в медленном рефлекшене

Sergey
18.06.2017
12:41:57
Sergey
18.06.2017
12:42:05
ну я профайлером пользоваться умею)

Sergey
18.06.2017
12:42:17
не ну я понимаю, но какие у тебя есть варианты?

оптимизировать рефлекшены или написать компиляцию PHP контейнера на сях?

минуя кучу оверхэда

Sergey
18.06.2017
12:43:19
в гитхабе по этому поводу пишут что это типа только для дев окружения такое, поэтому можно забить

Sergey
18.06.2017
12:44:29
окей, давай так

Google
Sergey
18.06.2017
12:44:32
ты профилировал

что по твоему можно сделать?

Sergey
18.06.2017
12:45:54
делать контейнер меньше и дробить приложение отказываться от автовайринга надеятся что сделают инкрементальный кеш забить

Sergey
18.06.2017
12:46:22
не, ты не понял

"надеяться что сделают инкрементальный кэш" - с этим сложно потому что у тебя еще есть compile pass, и зависимостей может набрасываться динамически

"отказываться от автовайринга" - я лучше хер отрежу (с) Мердерфейс

Sergey
18.06.2017
12:48:05
у тебя есть в кеше дерево по всем файлам с указанием когда последний раз менялось чет. исходя из этого можно пересчитывать только то что менялось, но этого никто делать не будет ибо это тонны багов и оверхеда, только для того чтобы девам было лучше жить

Sergey
18.06.2017
12:48:13
> делать контейнер меньше и дробить приложение а вот это интересный вариант. Предположим у нас есть "единый контейнер" который на самом деле много маленьких

точнее дампер

Sergey
18.06.2017
12:50:35
сишный экстеншен тоже никто делать не будет

вспоминая судьбу экстеншена твига

Sergey
18.06.2017
12:51:38
а в чем самое узкое место то?

анализ зависимостей, рефлекшены сами по себе, или что?

Sergey
18.06.2017
12:53:27
AnalyzeServiceReferencesPass, processValue вызывается около миллиона раз

Performance Consequences¶ Thanks to Symfony's compiled container, there is no performance penalty for using autowiring. However, there is a small performance penalty in the dev environment, as the container may be rebuilt more often as you modify classes. If rebuilding your container is slow (possible on very large projects), you may not be able to use autowiring.

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

если приложение большое

Sergey
18.06.2017
14:17:21
@Enleur так возвращаясь к вопросу разделения контейнера, это решило бы вопрос? скажем у тебя 1 контейнер собирающийся за 40 секунд разделяется на 4 контейнера собирающиеся за 10 секунд каждый

Sergey
18.06.2017
14:17:42
как потом их мержить будешь?

Google
Sergey
18.06.2017
14:17:52
и как ты будешь их параллельно собирать?

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

одна соната за собой тащит хз сколько

Sergey
18.06.2017
14:18:26
ну по сути - да, разделять приложение)

у тебя оно достаточно большое что бы это было легко сделать

все твои парсеры только на один жирненький контейнер потянут

и запускаются они всеравно через CLI

Sergey
18.06.2017
14:20:41
в том то и дело что так просто не разделить

сильная завязка на базу

Sergey
18.06.2017
14:34:09
а если сделать контейнер слоеным? общие зависимости в один контейнер, остальные пробрасывают инфу ниже

хотя хз

сложна

Sergey
18.06.2017
14:34:25
а вот еще вопрос - ты ж рефакторил YAML конфиги под symfony 3.3

я правильно понимаю что такие нюансы как "автокомплит" для имен сервисов и автоматическое переименовывание - это низя

я это к чему - возвращаться мне на yaml конфиги или нет

у меня сейчас сервисы регаются так: return [ \App\Service\SomeService::class => [], ];

Sergey
18.06.2017
14:42:48
ну тип есть у меня класс My\Vendor\Namespace\And\Some\Application\Layer\Service

и мне не очень хочется копировать название и вставлять

а потом я захотел переименовать класс

Google
Sergey
18.06.2017
14:43:11
а, ну копируй референс из класса и все

Sergey
18.06.2017
14:43:18
ай не, мне лень

Sergey
18.06.2017
14:45:03
ну думаю скоро в плагине будет такая фича

Sergey
18.06.2017
14:50:18
сча запилю gist...

можешь мне вообще сказать все таки, зачем yaml конфиги для этого?

это ж неудобно

Sir
18.06.2017
14:58:04
Кто-нибудь знает, как это можно решить?

Admin
ERROR: S client not available

Sir
18.06.2017
14:58:41
Что бы я не указывал вместо 16384, ничего не помогает

Sergey
18.06.2017
15:01:04
ты все таки не послушался...

Sir
18.06.2017
15:01:25
Надеялся, что меня все забудут

?

Гуглёж по проблеме - результатов не дал, вот я и обратился за помощью :C

Sergey
18.06.2017
15:02:34
твоя проблема решается отказом от семафоров в пользу очередей

коль уж хочешь юзать семафоры, плодить процессы и т.д. - изволь разобраться как это все работает

как делать IPC, что такое shared memory, как оно на файл мэпится

MPI на вас нет

понимаю если бы у тебя была задача разруливания ограниченных ресурсов

типа "есть штука, с ней одновременно могут работать только 3 процесса"

а у тебя - пул задач которые должны обработать каждый из N воркеров так, что бы над одной и той же задачей мог работать только один воркер

Google
Sergey
18.06.2017
15:09:39
тупо очередь

Sir
18.06.2017
15:17:15
Я просто нашел неплохую статью..

http://kamashev.name/2011/07/daemons-shared-memory-and-semafors/

И здесь он делает следующее

// Данные могут быть большими, поэтому предусмотрительно надо выделить так, что бы хватило

Но у меня при любом значении вылетает ошибка, хотя код я особо не менял.. А его пример работает

Я понимаю, что тот вариант, который ты описал - правильнее

Но этот - быстрее :(

По крайней мере для меня

Sergey
18.06.2017
16:40:51
мне просто реально интересно на основании чего ты сделал подобные выводы

я бы на твоем месте сделал как - 2 часа с одним вариантом, 2 часа с другим

и далее уже делать выводы

а сейчас - ты просто задаешь

Aleh
18.06.2017
16:50:42
про задачку с графами до конца не понял, но и вы вроде решили, что оно не нужно)

Ad
18.06.2017
20:03:26
Поцоны, жена выбрала и купила новый ноут. Как вам по характеристикам? http://shop.lenovo.ua/notebooks/lenovo-ideapad-300-15isk-80q700ajua-p_80q700ajua.html

Aleksey [R10]
18.06.2017
20:14:55
Для офиса и почты сойдёт.

Ad
18.06.2017
20:23:29
Немного не ту модель выбрал, с телефона неудобно. Там, в общем , I7 процессор и восемь памяти

Я вот думаю, завидовать или как прежде на макбуке 2014 остаться

Страница 237 из 1418