[ 
https://issues.apache.org/jira/browse/DISPATCH-2178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17366617#comment-17366617
 ] 

ASF GitHub Bot commented on DISPATCH-2178:
------------------------------------------

astitcher commented on a change in pull request #1267:
URL: https://github.com/apache/qpid-dispatch/pull/1267#discussion_r655407202



##########
File path: src/server.c
##########
@@ -1738,7 +1738,7 @@ void qd_connector_decref(qd_connector_t* connector)
     }
 }
 
-__attribute__((noinline)) // permit replacement by dummy implementation in 
unit_tests
+__attribute__((weak)) // permit replacement by dummy implementation in 
unit_tests

Review comment:
       [Not a comment on this PR really!]
   This whole replacing a function by redefining in the unit tests without an 
injection API makes me queazy! I'm not entirely sure why - it just seems 
error-prone.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


> 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
>
> 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]

Reply via email to