<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/zope-interface.git, branch issue199</title>
<subtitle>github.com: zopefoundation/zope.interface.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/'/>
<entry>
<title>Fix implementerOnly when duplicating something inherited from the parent.</title>
<updated>2020-04-07T12:32:06+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-04-06T16:53:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=97c0fbc4a3a532d1b2ec044994422d1a4ada4754'/>
<id>97c0fbc4a3a532d1b2ec044994422d1a4ada4754</id>
<content type='text'>
Seen in plone.app.testing as a problem in Products.GenericSetup.

Added tests for that.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Seen in plone.app.testing as a problem in Products.GenericSetup.

Added tests for that.
</pre>
</div>
</content>
</entry>
<entry>
<title>Special case the base Interface in @implementer/classImplements to skip the redundancy detection for the sake of plone.app.caching.</title>
<updated>2020-04-07T12:32:06+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-04-06T16:17:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=4cb3e63d3f45f0d4337bf890ec8508c3072be772'/>
<id>4cb3e63d3f45f0d4337bf890ec8508c3072be772</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make @implementer and classImplements not re-declare redundant interfaces.</title>
<updated>2020-04-07T12:32:06+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-04-06T12:57:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=46781f87ccbc02ae3d884e2dbe57b799c3804077'/>
<id>46781f87ccbc02ae3d884e2dbe57b799c3804077</id>
<content type='text'>
classImplementsOnly and @implementer_only can still be used to do that.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
classImplementsOnly and @implementer_only can still be used to do that.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #202 from zopefoundation/issue3</title>
<updated>2020-04-07T12:30:47+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-04-07T12:30:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=a404e5fed4766625b564de558942dd4efd979e89'/>
<id>a404e5fed4766625b564de558942dd4efd979e89</id>
<content type='text'>
Let interfaces override __adapt__</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Let interfaces override __adapt__</pre>
</div>
</content>
</entry>
<entry>
<title>Feedback from review: whitespace, doc clarification, and a unit test showing the precedence of __conform__ vs __adapt__.</title>
<updated>2020-04-07T12:04:44+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-04-07T12:04:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=b1807049d47afef711c467b785fae6aab7be851a'/>
<id>b1807049d47afef711c467b785fae6aab7be851a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Let interface 'subclasses' override __adapt__.</title>
<updated>2020-04-06T14:14:45+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-04-03T14:55:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=10eadd6305ee57910dbcc508b293f4bf0364fd84'/>
<id>10eadd6305ee57910dbcc508b293f4bf0364fd84</id>
<content type='text'>
Cooperate with InterfaceClass to ensure there is no performance penalty for this. Fixes #3

+-------------------------------------------------------------+----------------+------------------------------+------------------------------+
| Benchmark                                                   | bench_master38 | bench_issue3                 | bench_issue3_opt             |
+=============================================================+================+==============================+==============================+
| call interface (provides; deep)                             | 369 ns         | 454 ns: 1.23x slower (+23%)  | not significant              |
+-------------------------------------------------------------+----------------+------------------------------+------------------------------+
| call interface (provides; wide)                             | 373 ns         | 457 ns: 1.22x slower (+22%)  | 365 ns: 1.02x faster (-2%)   |
+-------------------------------------------------------------+----------------+------------------------------+------------------------------+
| call interface (no alternate, no conform, not provided)     | 671 ns         | 760 ns: 1.13x slower (+13%)  | 636 ns: 1.06x faster (-5%)   |
+-------------------------------------------------------------+----------------+------------------------------+------------------------------+
| call interface (alternate, no conform, not provided)        | 395 ns         | 494 ns: 1.25x slower (+25%)  | not significant              |
+-------------------------------------------------------------+----------------+------------------------------+------------------------------+
| call interface (no alternate, valid conform, not provided)  | 250 ns         | not significant              | 227 ns: 1.10x faster (-9%)   |
+-------------------------------------------------------------+----------------+------------------------------+------------------------------+
| call interface (alternate, invalid conform, not provided)   | 348 ns         | 424 ns: 1.22x slower (+22%)  | not significant              |
+-------------------------------------------------------------+----------------+------------------------------+------------------------------+
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Cooperate with InterfaceClass to ensure there is no performance penalty for this. Fixes #3

+-------------------------------------------------------------+----------------+------------------------------+------------------------------+
| Benchmark                                                   | bench_master38 | bench_issue3                 | bench_issue3_opt             |
+=============================================================+================+==============================+==============================+
| call interface (provides; deep)                             | 369 ns         | 454 ns: 1.23x slower (+23%)  | not significant              |
+-------------------------------------------------------------+----------------+------------------------------+------------------------------+
| call interface (provides; wide)                             | 373 ns         | 457 ns: 1.22x slower (+22%)  | 365 ns: 1.02x faster (-2%)   |
+-------------------------------------------------------------+----------------+------------------------------+------------------------------+
| call interface (no alternate, no conform, not provided)     | 671 ns         | 760 ns: 1.13x slower (+13%)  | 636 ns: 1.06x faster (-5%)   |
+-------------------------------------------------------------+----------------+------------------------------+------------------------------+
| call interface (alternate, no conform, not provided)        | 395 ns         | 494 ns: 1.25x slower (+25%)  | not significant              |
+-------------------------------------------------------------+----------------+------------------------------+------------------------------+
| call interface (no alternate, valid conform, not provided)  | 250 ns         | not significant              | 227 ns: 1.10x faster (-9%)   |
+-------------------------------------------------------------+----------------+------------------------------+------------------------------+
| call interface (alternate, invalid conform, not provided)   | 348 ns         | 424 ns: 1.22x slower (+22%)  | not significant              |
+-------------------------------------------------------------+----------------+------------------------------+------------------------------+
</pre>
</div>
</content>
</entry>
<entry>
<title>Add documentation for taggedValue and invariant.</title>
<updated>2020-04-06T14:14:45+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-04-03T11:11:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=1af83ef9f90aa7a558314892b72eec6d62263981'/>
<id>1af83ef9f90aa7a558314892b72eec6d62263981</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add more cross refs to documentation and fix a couple sphinx warnings about duplicates in the index.</title>
<updated>2020-04-06T14:14:45+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-04-03T10:53:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=139bab56a722ac9f350c55f24e47b2decd1c2e1e'/>
<id>139bab56a722ac9f350c55f24e47b2decd1c2e1e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #201 from zopefoundation/issue200</title>
<updated>2020-04-06T14:06:48+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-04-06T14:06:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=6c2f71487eed46896647edc9dc770f1fd5da823b'/>
<id>6c2f71487eed46896647edc9dc770f1fd5da823b</id>
<content type='text'>
Remove the bare except: statements.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove the bare except: statements.</pre>
</div>
</content>
</entry>
<entry>
<title>More micro benchmarks.</title>
<updated>2020-04-02T15:35:51+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-04-02T15:35:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=719851072c41ff0914def1368716a049859ed32a'/>
<id>719851072c41ff0914def1368716a049859ed32a</id>
<content type='text'>
Comparing to current master, there is no substantial difference.

+-------------------------------------------------------------+----------------+------------------------------+
| Benchmark                                                   | bench_master38 | bench_issue200               |
+=============================================================+================+==============================+
| call interface (alternate, no conform, not provided)        | 395 ns         | 414 ns: 1.05x slower (+5%)   |
+-------------------------------------------------------------+----------------+------------------------------+
| call interface (no alternate, valid conform, not provided)  | 250 ns         | 240 ns: 1.04x faster (-4%)   |
+-------------------------------------------------------------+----------------+------------------------------+
| read __module__                                             | 45.3 ns        | 43.4 ns: 1.04x faster (-4%)  |
+-------------------------------------------------------------+----------------+------------------------------+
| query adapter (no registrations)                            | 3.23 ms        | 3.31 ms: 1.02x slower (+2%)  |
+-------------------------------------------------------------+----------------+------------------------------+
| query adapter (all trivial registrations)                   | 3.93 ms        | 4.40 ms: 1.12x slower (+12%) |
+-------------------------------------------------------------+----------------+------------------------------+
| query adapter (all trivial registrations, wide inheritance) | 43.3 us        | 45.5 us: 1.05x slower (+5%)  |
+-------------------------------------------------------------+----------------+------------------------------+
| query adapter (all trivial registrations, deep inheritance) | 43.2 us        | 46.9 us: 1.09x slower (+9%)  |
+-------------------------------------------------------------+----------------+------------------------------+
| sort mixed                                                  | 361 us         | 354 us: 1.02x faster (-2%)   |
+-------------------------------------------------------------+----------------+------------------------------+
| contains (populated dict: interfaces)                       | 61.3 ns        | 59.7 ns: 1.03x faster (-3%)  |
+-------------------------------------------------------------+----------------+------------------------------+

Not significant (13): call interface (provides; deep); call interface (provides; wide); call interface (no alternate, no conform, not provided); call interface (alternate, invalid conform, not provided); read __name__; read __doc__; read providedBy; sort interfaces; sort implementedBy; contains (empty dict); contains (populated list: interfaces); contains (populated dict: implementedBy); contains (populated list: implementedBy)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Comparing to current master, there is no substantial difference.

+-------------------------------------------------------------+----------------+------------------------------+
| Benchmark                                                   | bench_master38 | bench_issue200               |
+=============================================================+================+==============================+
| call interface (alternate, no conform, not provided)        | 395 ns         | 414 ns: 1.05x slower (+5%)   |
+-------------------------------------------------------------+----------------+------------------------------+
| call interface (no alternate, valid conform, not provided)  | 250 ns         | 240 ns: 1.04x faster (-4%)   |
+-------------------------------------------------------------+----------------+------------------------------+
| read __module__                                             | 45.3 ns        | 43.4 ns: 1.04x faster (-4%)  |
+-------------------------------------------------------------+----------------+------------------------------+
| query adapter (no registrations)                            | 3.23 ms        | 3.31 ms: 1.02x slower (+2%)  |
+-------------------------------------------------------------+----------------+------------------------------+
| query adapter (all trivial registrations)                   | 3.93 ms        | 4.40 ms: 1.12x slower (+12%) |
+-------------------------------------------------------------+----------------+------------------------------+
| query adapter (all trivial registrations, wide inheritance) | 43.3 us        | 45.5 us: 1.05x slower (+5%)  |
+-------------------------------------------------------------+----------------+------------------------------+
| query adapter (all trivial registrations, deep inheritance) | 43.2 us        | 46.9 us: 1.09x slower (+9%)  |
+-------------------------------------------------------------+----------------+------------------------------+
| sort mixed                                                  | 361 us         | 354 us: 1.02x faster (-2%)   |
+-------------------------------------------------------------+----------------+------------------------------+
| contains (populated dict: interfaces)                       | 61.3 ns        | 59.7 ns: 1.03x faster (-3%)  |
+-------------------------------------------------------------+----------------+------------------------------+

Not significant (13): call interface (provides; deep); call interface (provides; wide); call interface (no alternate, no conform, not provided); call interface (alternate, invalid conform, not provided); read __name__; read __doc__; read providedBy; sort interfaces; sort implementedBy; contains (empty dict); contains (populated list: interfaces); contains (populated dict: implementedBy); contains (populated list: implementedBy)
</pre>
</div>
</content>
</entry>
</feed>
