[
https://issues.apache.org/jira/browse/DISPATCH-2178?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ken Giusti resolved DISPATCH-2178.
----------------------------------
Resolution: Fixed
> Do not build separate libqpid-dispatch.so
> -----------------------------------------
>
> Key: DISPATCH-2178
> URL: https://issues.apache.org/jira/browse/DISPATCH-2178
> Project: Qpid Dispatch
> Issue Type: Improvement
> Affects Versions: 1.16.0
> Reporter: Jiri Daněk
> Assignee: Jiri Daněk
> Priority: Major
> Fix For: 1.17.0
>
>
> h3. Motivation
> The split into a binary and a library is not unprecedented (e.g. CPython does
> exactly the same thing), but in Dispatch it is avoidable with minimal code
> changes (an executable can {{dlopen(NULL, ...)}} itself.
> Getting rid of libqpid-dispatch.so will mean one less file that we need to
> install (and since it is not a published API, finding a good place for the so
> has been tricky in the past (see DISPATCH-194).
> Furthermore, avoiding the indirection of a library call will likely give some
> performance benefit at a low level (individual function calls) similar to
> (again) Python in https://fedoraproject.org/wiki/Changes/PythonStaticSpeedup.
> The gains can be best utilized after doing LTO (see DISPATCH-2121).
> h3. Expected issues
> The problem with this is that we lose semantic interposition
> (https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup),
> meaning we won't be able to simply override symbols from libqpid-dispatch.so
> at runtime. This is an issue because Dispatch unittests depend on this. (See
> DISPATCH-1783)
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]