170 похожих чатов

По поводу разработки cekta/di на этой неделе я без стримов

погонял бенчмарки увидел результаты что моя либа примерно на 4 - 6 месте по скорости (из 11 участников), хотя я не упарывался в скорость, а старался в гибкость настройки.

У топовых библиотек используется подход "компиляции" генерации файла контейнера где результаты вызовов хардкодятся, это быстро для продакшена, но крайне не удобно перекомпилировать каждый раз в разработке, моя библиотека в скорости проиграла только этим либам.

Я решил сделать библиотеку которая будет поддерживать и компиляцию и использование в динамическом режиме, а также возможно сделать гибридный вариант компилируемого-динамический режим, для зависимостей что не были скомпилированы.

В общем вот список фитч которые я хочу реализовать
support php8
support dynamic container for develop
support compiled container for production
support compiled-dynamic gybrid for production :) ?
support autowiring
autowiring support union type(php8)
autowiring support variadic argument
autowiring support inject annotation
support scopes
singleton
prototype
support dynamic params for dynamic and compiled containers
support registration interface and abstract classes
support shared dependencies
support infinite recursion detector
Часть фитч уже реализована, я не видел чтобы все они были реализованы в одной библиотеке.

У вас есть какие нибудь идеи или предложения ?
Стоит стримить этот процесс ?
В коменты пишите

3 ответов

4 просмотра

Нормальная тема! Жалко я пишу на статических классах и мне di не нужен)

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Заметил в ghci 9.4.8: > :t (<*>) @((->)_) (<*>) @((->)_) :: (w -> (a -> b)) -> (w -> a) -> w -> b Разве не должно (w -> (a -> b)) быть записано как (w -> a -> b)? Это баг, ил...
Михаил
13
Any electron dev here?
Sayanth Tezro
12
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
так это может кто что знает или использует что-то как макбук только не макбук? на 13…14 дюймов
Michael
9
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
did you mean this? if yes no you don't need it. just need a ui for handle process with ui and some terminal code. you don't want to re create adb your self you just want add u...
Mr Thieves
7
Карта сайта