<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/zope-interface.git/MANIFEST.in, branch issue236</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>Move Interface hashing and comparison to C; 2.5 to 15x speedup in micro benchmarks</title>
<updated>2020-03-18T17:26:35+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2020-03-07T00:38:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=8ac3bd088d9b924cfb3170b77b41effd2de39d23'/>
<id>8ac3bd088d9b924cfb3170b77b41effd2de39d23</id>
<content type='text'>
Included benchmark numbers:

Current master, Python 3.8:

.....................
contains (empty dict): Mean +- std dev: 198 ns +- 5 ns
.....................
contains (populated dict): Mean +- std dev: 197 ns +- 6 ns
.....................
contains (populated list): Mean +- std dev: 53.1 us +- 1.2 us

This code:

.....................
contains (empty dict): Mean +- std dev: 77.9 ns +- 2.3 ns
.....................
contains (populated dict): Mean +- std dev: 78.4 ns +- 3.1 ns
.....................
contains (populated list): Mean +- std dev: 3.69 us +- 0.08 us

So anywhere from 2.5 to 15x faster. Not sure how that will translate to
larger benchmarks, but I'm hopeful.

It turns out that messing with ``__module__`` is nasty, tricky
business, especially when you do it from C. Everytime you define a new
subclass, the descriptors that you set get overridden by the type
machinery (PyType_Ready). I'm using a data descriptor and a meta class
right now to avoid that but I'm not super happy with that and would
like to find a better way. (At least, maybe the data part of the
descriptor isn't necessary?) It may be needed to move more code into
C, I don't want a slowdown accessing ``__module__`` either; copying
around the standard PyGetSet or PyMember descriptors isn't enough
because they don't work on the class object (so
``classImplements(InterfaceClass, IInterface)`` fails).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Included benchmark numbers:

Current master, Python 3.8:

.....................
contains (empty dict): Mean +- std dev: 198 ns +- 5 ns
.....................
contains (populated dict): Mean +- std dev: 197 ns +- 6 ns
.....................
contains (populated list): Mean +- std dev: 53.1 us +- 1.2 us

This code:

.....................
contains (empty dict): Mean +- std dev: 77.9 ns +- 2.3 ns
.....................
contains (populated dict): Mean +- std dev: 78.4 ns +- 3.1 ns
.....................
contains (populated list): Mean +- std dev: 3.69 us +- 0.08 us

So anywhere from 2.5 to 15x faster. Not sure how that will translate to
larger benchmarks, but I'm hopeful.

It turns out that messing with ``__module__`` is nasty, tricky
business, especially when you do it from C. Everytime you define a new
subclass, the descriptors that you set get overridden by the type
machinery (PyType_Ready). I'm using a data descriptor and a meta class
right now to avoid that but I'm not super happy with that and would
like to find a better way. (At least, maybe the data part of the
descriptor isn't necessary?) It may be needed to move more code into
C, I don't want a slowdown accessing ``__module__`` either; copying
around the standard PyGetSet or PyMember descriptors isn't enough
because they don't work on the class object (so
``classImplements(InterfaceClass, IInterface)`` fails).
</pre>
</div>
</content>
</entry>
<entry>
<title>Preparing release 4.4.3</title>
<updated>2017-09-22T07:45:07+00:00</updated>
<author>
<name>Marius Gedminas</name>
<email>marius@gedmin.as</email>
</author>
<published>2017-09-22T07:45:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=8d2d94ddc6bc9fba2a8df6f39c9a9525d7a92101'/>
<id>8d2d94ddc6bc9fba2a8df6f39c9a9525d7a92101</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Match manifest with version control.</title>
<updated>2016-08-31T07:07:28+00:00</updated>
<author>
<name>Michael Howitz</name>
<email>mh@gocept.com</email>
</author>
<published>2016-08-31T07:07:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=edb856b4f08e8a79af238eedea8707e57d1fae24'/>
<id>edb856b4f08e8a79af238eedea8707e57d1fae24</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update MANIFEST.in</title>
<updated>2015-10-05T07:33:11+00:00</updated>
<author>
<name>Marius Gedminas</name>
<email>marius@gedmin.as</email>
</author>
<published>2015-10-05T07:33:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=5d251bc39a7085274ee603325f6e4d0b2bad5be1'/>
<id>5d251bc39a7085274ee603325f6e4d0b2bad5be1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Nest into Github.</title>
<updated>2013-01-11T19:37:23+00:00</updated>
<author>
<name>Tres Seaver</name>
<email>tseaver@palladion.com</email>
</author>
<published>2013-01-11T19:37:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=bb9e803534e35b2ffd6b3cbae7b033fb10356fec'/>
<id>bb9e803534e35b2ffd6b3cbae7b033fb10356fec</id>
<content type='text'>
- Denominate files to indicate ReST.

- Drop .bzrignore.

- Add MANIFEST.in FBO users w/o setuptools_git.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Denominate files to indicate ReST.

- Drop .bzrignore.

- Add MANIFEST.in FBO users w/o setuptools_git.
</pre>
</div>
</content>
</entry>
<entry>
<title>Converted to a buildout.</title>
<updated>2007-01-03T15:29:17+00:00</updated>
<author>
<name>Jim Fulton</name>
<email>jim@zope.com</email>
</author>
<published>2007-01-03T15:29:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=876c68a0fcd7d6e2198da745ad2397b4a23ffcc8'/>
<id>876c68a0fcd7d6e2198da745ad2397b4a23ffcc8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Suppress inclusion of setup.cfg in sdist builds.</title>
<updated>2006-04-15T00:10:43+00:00</updated>
<author>
<name>Tres Seaver</name>
<email>tseaver@palladion.com</email>
</author>
<published>2006-04-15T00:10:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=c624cae0f210f2a283d6ce54e260f23dbe7e0976'/>
<id>c624cae0f210f2a283d6ce54e260f23dbe7e0976</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
