Влияют ли на производительность неиспользуемые библиотеки?

В качестве примера приведу проект на языке C#. При создании оконного приложения изначально к каждой форме подключено около 10 библиотек, используются из которых изначально только две. Если в своем проекте я не использую автоматически подключенные библиотеки, но и не удаляю строки с их подключением, то будет ли это влиять на скорость компиляции и/или на производительность приложения?
  • Вопрос задан
  • 585 просмотров
Решения вопроса 3
GavriKos
@GavriKos
Вы о Using что ли?
На производительность у конечного пользователя - не влияет, оптимизатор их вырежет.
НА производительность у вас - ну немного влияет, но вы этого не заметите
Ответ написан
Комментировать
@odissey_nemo
Программист, ГИС-системы, растры, космоснимки
Вопрос о наличии в памяти неиспользуемых библиотек изучен слабо.
Теоретически можно предположить, что при загрузке всё лишнее отключаются. Тогда - не влияет никак.
А если не отключается - то влияет, но размер доступной памяти уменьшается на размер библиотек.
Хуже с библиотеками, в которых тебе нужны несколько методов, а оставшиеся десятки мегабайт - только балласт. Пример - биб-ка smile (Java), содержащая десятки мегабайт исполняемого кода по всем направлениям математической статистики, а нужно только корреляцию Пирсона посчитать.
Тут, скорее всего, вся библиотека грузится, но используется, дай разум, 1% от её общего размера.

В своё время в Delphi нравилось то, что при сборке EXE из объектных (откомпилированных) модулей подключались лишь те, на которые были ссылки.
Если современные среды разработки способны на такое, то было бы полезно все библиотеки подключать в виде исходных кодов и компилировать в свою собственный исполняемый модуль.
Это дало бы максимальные эффект по оптимизации памяти.
Ответ написан
@jenya92
Думаю тут стоит уточнить контекст, что и где разрабатывать. К примеру я один раз при написании прошивки для ардуинки - забыл удалить библиотеку и долго не мог понять, почему не хватает памяти. Как только нашёл лишнюю подключенную библиотеку и удалил её - всё завелось без проблем))
Так что на производительность возможно и не влияет, но место занимает :)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы