LINUX.ORG.RU

Динамическое расширение функционала

 , , , ,


0

3

Всем привет. Потихоньку осваиваю rust, пришла в голову идея весь сторонний (лишний для некоторых пользователей) сделать динамически подгружаемым - чтоб память не жрали неиспользуемые пользователем возможности и чтоб любой желающий мог расширить функционал программы. Меня не устраивает встраивание lua или python, если я пишу на расте - то в идеале на расте и расширять функционал. Как я себе это представляю: программа парсит из конфига название библиотеки и название класса (процедуры) и моя программа начинает использовать этот самый класс - всё скомпилировано, всё производительно. Возможно ли реализовать такое? Как скажется на производительности и пожирании памяти 50 мини-библиотек-плагинов в памяти? Стоит ли так делать? Как можно по другому реализовать идею?

Ответ на: комментарий от O02eg

ржавокодеров.

мля! 2 два раза это слово перечитал как «рукожоперов»

anonymous
()
Ответ на: комментарий от O02eg

Так, не туго ли будет системе при открытии 50 библиотек-плагинов? Если в каждой библиотеке будет до 20 строчек полезного кода. Как скажется на памяти и производительности по сравнению со всеми плагинами сразу в одной программе?

vuyagohac
() автор топика
Ответ на: комментарий от anonymous

Почему тогда кде либы так мелко не подробили? Glib так вообще на все случаи жизни.

vuyagohac
() автор топика
Ответ на: комментарий от vuyagohac

не туго ли будет системе при открытии 50 библиотек-плагинов

Ну, с системДы же все работает.

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

Поручик! Молчать! Не дай рандом, Леня прочитает (или коллективные измышления на тему сыс-ды вызовут возмущения в астрале, которые подсознание Лени уловит и оформит в очередной сон-(Великое)-Откровение).

anonymous
()
Ответ на: комментарий от vuyagohac

Смотря что ты будешь делать в процедуре инициализации каждой. Если там блокирующих операций много или вычислений, тогда проблема. Максимум можешь многопоточности грузить. А вот если при инициализации ничего не делается, то библиотеки, готов поспорить, можно грузить тысячами. Такую голую работу не поленись сам побенчмаркать

vertexua ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.