dennis_chikin (dennis_chikin) wrote,
dennis_chikin
dennis_chikin

Век живи - век учись !

"Первая и главная причина появления динамических библиотек (это ведь не только в винде так, но и юнихах с линухами) - экономия памяти, но не памяти одного экзешника, а всей системы в целом. Представь себе веб сервер, на нем крутится апач, на каждый хит (на самом деле все зависит от настроек, но я буду описывать так - это нагляднее) создается дочерний объект, который например тянет пхп интерпретатор. Так вот, если апач-процесс - это нормально, многопоточность и раздельные ресурсы и так далее, то пхп-интерпретатор один, вот он и существует в виде библиотеки. Например, весит он 6Мб (версия 5.4 столько весит), потом сам пхп подключает туеву хучу расширений - опять же в виде длл (1-30Мб). Так вот, по идее на каждый апач-процесс должно быть несколько экземпляров пхп (по количеству изолированных нитей выполнения), сам пхп - по пачке расширений (количество расширений помножим на количество пхп). Без длл это было бы очень много - под пару гигов оперативки, что очень расточительно. При использовании длл, каждая из них (будь то пхп или его расширения) загружается в память всего один раз, что дает всего под сотню метров оперативки."

Да, а файлы .h - это вообще не библиотеки, а хедеры lib, вставляющихся перепроцессором в исходники !
Tags: удивительное
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments