Subject: Re: bug#43252: 27.1; DBus properties lack type hints or overrides

From: Hugh Daschbach <[email-masked]>
Date: Thu, 24 Sep 2020 21:16:18 -0700

Michael Albinus writes:

> Hugh Daschbach <[email-masked]> writes:
>
> Hi Hugh,
>
>> I think I've addressed all the issues you pointed out.  Let me know if
>> there's something that still doesn't look right.
>
> I've roughly scanned the patches, they look almost OK. Let's wait now
> for appearing your name on the copyright file.
>
> Anyway, here's my nit of the day:
>
>> * test/lisp/net/dbus-tests/org.gnu.Emacs.TestDBus.xml: New test data.
>
> This shall be dbus-resources.

Thanks.  Fixed.  Will wait for the paperwork to clear.  Then will rebase
and send you a final copy of the patches.

>> Thanks
>> Hugh
> Best regards, Michael.

I've taken a brief look at performance of the introspection tests.  The
long pole seems to be ERT, rather than the tests themselves.

Running the profiler while running ert showed The cpu profiler report
for running dbus-test07-introspection breaks down something like:

- GC      - 30%
- dbus-*  - 30%
- ert-*   - 40%

So I pulled introspection tests out into a separate file, redefined
`should', and reran dbus-test07-introspection.  It completed almost
instantly.  I wrapped the body of dbus-test07-introspection in a dotimes
form with 50 iterations.  That completes in roughly 1.1 seconds.

Comparing runtime and GC cycles for a single run,

running with ERT:  2 gcs in 2.228295 sec
running w/o ERT:   1 gcs in 0.036733 sec

Those numbers come from:

(let ((start (current-time))
      (gcs gcs-done))
  ;; test program call
  (message "%d gcs in %02f sec" (- gcs-done gcs) (float-time (time-since start))))

I'm not well versed in chasing Emacs performance issues, bit this looks
to me more like testing than introspection overhead.  Any
suggestions?

Cheers,
Hugh