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 ответов

17 просмотров

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

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта