<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-text-plain" wrap="true" style="font-family:
-moz-fixed; font-size: 14px;" lang="x-unicode">
<pre wrap="">On 24.05.2017 14:32, Simon McVittie wrote:
</pre>
<blockquote type="cite" style="color: #000000;">
<pre wrap="">On Wed, 24 May 2017 at 23:26:34 +1200, Lawrence D'Oliveiro wrote:
</pre>
</blockquote>
<pre wrap="">... cut ...
</pre>
<blockquote type="cite" style="color: #000000;">
<pre wrap="">Relying on introspection also adds extra, hidden method call round-trips,
which have a measurable impact on performance (demonstrated in Will
Thompson's experiments with removing introspection from telepathy-gabble's
automated tests).
If Introspect() is called synchronously, like any other synchronous method
call it will block the main loop, and can result in message re-ordering[1],
which in the worst case can break the intended semantics of D-Bus APIs.
Introspection is mostly a development and debugging feature, and ideally
nothing would rely on it at runtime.
</pre>
</blockquote>
<pre wrap="">For dynamic languages it is very important (and many times a boon) to have the introspection
facility available at runtime. A single implementation can then be used to add proper interfacing to
any DBus service at runtime. If done properly, it should not block anything.
---rony
</pre>
</div>
</body>
</html>