Some javascript/style in this post has been disabled (
why?)
Добрый день, Ruvim Pinka!
Ваше сообщение от 21.02.2009 9:56:
Сейчас по умолчанию ищет ОС, а в сложнозамороченных ситуациях
типа Eserv'а идёт перебор дополнительных путей внутри vDLOPEN. Всё
работает стабильно.
Игрек обнаружил, что, в зависимости от значения переменной окружения
PATH, загрузка некоторых оберток может замедлятся в десятки раз (5с,
вместо 0.2с). Так в случае
ALSO SO NEW: libxml2.dll
ALSO SO NEW: libxml2.so
Под виндой каждое слово ищется вначале в словаре libxml2.so, потом в
libxml2.dll, потом в FORTH-WORDLIST. Но, т.к. бинарника libxml2.so
нету, то на каждое слово происходит безуспешный DLOPEN и поиск по
путям, что значительно замедляет трансляцию.
Еще хуже будет, если вдруг попадется бинарник libxml2.so ;)
Да, вообще поиск по путям еще и к конфликтам версий может приводить.
Потому что всякие там SVN'ы добавляют себя и свои копии либ в пути.
Поэтому там, где нужно надежное контролируемое выполнение - единственным
решением является привязка к собственным подкаталогам, как в Eserv'е
(в инсталляторе Eserv/4 я и номера версий на всякий случай контролирую,
т.к. случалось, что libcurl.dll сам подцеплял неправильные либы
openssl).
См. DLOPEN_ext в ~ac/lib/win/file/utils.f
Побочным эффектом является значительное сокращение перебираемых папок.
Да, трансляция в таком контексте, конечно замедляется. Но на практике
при
сборке самых больших из моих бинарников (Eserv) я этого не замечаю.
Десятки там или сотни раз, SPF слишком быстро всё делает :)
Вариант ускорения, который сходу приходит в голову - при первой попытке
загрузки несуществующего SO ставить ему вместо хэндла какой-нибудь -2,
и при следующем поиске просто пропускать.
Хотя для больших проектов всегда удобно компилировать толстый
инструментальный
"SPF с либами" (у меня это acTCP - ядро Eserv), а уже им собирать
программы.
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H_______________________________________________
Spf-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spf-dev