<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/zope-interface.git/src/zope, branch remove-docstrings-master</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>Removed docstrings to avoid publishing in Zope2 environments.</title>
<updated>2016-12-02T22:33:20+00:00</updated>
<author>
<name>Maurits van Rees</name>
<email>maurits@vanrees.org</email>
</author>
<published>2016-12-02T22:33:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=4ebfa81aadc768307564fe5aa88e222a5af18a52'/>
<id>4ebfa81aadc768307564fe5aa88e222a5af18a52</id>
<content type='text'>
This is part of PloneHotfix20161129.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is part of PloneHotfix20161129.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add tests asserting that optimzations are / are not present as expected.</title>
<updated>2016-11-15T22:54:25+00:00</updated>
<author>
<name>Tres Seaver</name>
<email>tseaver@palladion.com</email>
</author>
<published>2016-11-15T22:54:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=b27a50f4131ccf10732d7ebd20b3f8fa8afd397c'/>
<id>b27a50f4131ccf10732d7ebd20b3f8fa8afd397c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix C optimizations broken on Py3k.</title>
<updated>2016-11-15T19:04:50+00:00</updated>
<author>
<name>Tres Seaver</name>
<email>tseaver@palladion.com</email>
</author>
<published>2016-11-15T19:04:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=53246e53624b0ed24cabbd6a819008e2bf1e6540'/>
<id>53246e53624b0ed24cabbd6a819008e2bf1e6540</id>
<content type='text'>
- The bare import of '_zope_c_optimizations' prevented them from being
  used.

- After enabling them via absolute imports, they would fail due to
  http://bugs.python.org/issue15657.

Fixes #60.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- The bare import of '_zope_c_optimizations' prevented them from being
  used.

- After enabling them via absolute imports, they would fail due to
  http://bugs.python.org/issue15657.

Fixes #60.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix equality testing of implementedBy objects that have been proxied. Fixes #55.</title>
<updated>2016-09-02T23:20:25+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2016-09-02T23:20:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=c0e980b4b986a95a7699d0f417d6f8ff185f48d7'/>
<id>c0e980b4b986a95a7699d0f417d6f8ff185f48d7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Support Components subclasses that are not hashable. (#54)</title>
<updated>2016-08-31T12:41:51+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jason+github@nextthought.com</email>
</author>
<published>2016-08-31T12:41:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=14c8b2966011bc0dcab7e908cd80cb61dfd413cb'/>
<id>14c8b2966011bc0dcab7e908cd80cb61dfd413cb</id>
<content type='text'>
* Support Components subclasses that are not hashable.

Fixes #53.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Support Components subclasses that are not hashable.

Fixes #53.</pre>
</div>
</content>
</entry>
<entry>
<title>Fix comment.</title>
<updated>2016-08-30T13:50:25+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2016-08-30T13:50:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=1e2b756500b7b8518884ff4c3bd8bd64e62641a4'/>
<id>1e2b756500b7b8518884ff4c3bd8bd64e62641a4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Better naming, and incorporate feedback from @prsephton</title>
<updated>2016-08-22T16:45:21+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2016-08-22T16:45:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=99c35d11e2284d7d8bfb749f9bd8876484992307'/>
<id>99c35d11e2284d7d8bfb749f9bd8876484992307</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use dictionary lookups for testing subscribed status.</title>
<updated>2016-08-19T13:18:39+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2016-08-19T13:18:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=58ef4872922803fac3429d88fb3c58ae509b17c5'/>
<id>58ef4872922803fac3429d88fb3c58ae509b17c5</id>
<content type='text'>
Fixes #46.

Benchmarks show a dramatic improvement; not quite as good as the
demonstration in #46 because the implementation had to be a bit more
complex to properly handle unregistration, but still very good. Here it
is with 20,000 items already registered:
```
   %time add_to_reg(reg, 1000)
   CPU times: user 190 ms, sys: 19.3 ms, total: 209 ms
   Wall time: 203 ms
```

Here's a profile with about 100,000 utilities registered:
```
 %prun add_to_reg(reg, 1000)
         80005 function calls (79005 primitive calls) in 0.713 seconds

   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     1000    0.596    0.001    0.621    0.001 adapter.py:202(subscribe)
    12000    0.016    0.000    0.019    0.000 interface.py:518(__hash__)
     1000    0.010    0.000    0.709    0.001 registry.py:206(registerUtility)
3000/2000    0.009    0.000    0.014    0.000 interface.py:255(interfaces)
     2000    0.008    0.000    0.022    0.000 adapter.py:637(changed)
     1000    0.008    0.000    0.025    0.000 registry.py:498(_getUtilityProvided)
     9000    0.008    0.000    0.017    0.000 {method 'get' of 'dict' objects}
     1000    0.008    0.000    0.027    0.000 adapter.py:102(register)
     2000    0.006    0.000    0.008    0.000 adapter.py:450(changed)
     1000    0.005    0.000    0.663    0.001 registry.py:145(registerUtility)
```

I was very careful not to change the pickle at all.

zope.interface and zope.component tests have been run and both pass. (It
was necessary to account for the underlying objects changing because of
the way zope.component cleans up after tests.)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #46.

Benchmarks show a dramatic improvement; not quite as good as the
demonstration in #46 because the implementation had to be a bit more
complex to properly handle unregistration, but still very good. Here it
is with 20,000 items already registered:
```
   %time add_to_reg(reg, 1000)
   CPU times: user 190 ms, sys: 19.3 ms, total: 209 ms
   Wall time: 203 ms
```

Here's a profile with about 100,000 utilities registered:
```
 %prun add_to_reg(reg, 1000)
         80005 function calls (79005 primitive calls) in 0.713 seconds

   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     1000    0.596    0.001    0.621    0.001 adapter.py:202(subscribe)
    12000    0.016    0.000    0.019    0.000 interface.py:518(__hash__)
     1000    0.010    0.000    0.709    0.001 registry.py:206(registerUtility)
3000/2000    0.009    0.000    0.014    0.000 interface.py:255(interfaces)
     2000    0.008    0.000    0.022    0.000 adapter.py:637(changed)
     1000    0.008    0.000    0.025    0.000 registry.py:498(_getUtilityProvided)
     9000    0.008    0.000    0.017    0.000 {method 'get' of 'dict' objects}
     1000    0.008    0.000    0.027    0.000 adapter.py:102(register)
     2000    0.006    0.000    0.008    0.000 adapter.py:450(changed)
     1000    0.005    0.000    0.663    0.001 registry.py:145(registerUtility)
```

I was very careful not to change the pickle at all.

zope.interface and zope.component tests have been run and both pass. (It
was necessary to account for the underlying objects changing because of
the way zope.component cleans up after tests.)
</pre>
</div>
</content>
</entry>
<entry>
<title>Make declarations.Implements sortable.</title>
<updated>2016-08-03T15:34:31+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2016-08-03T15:32:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=bbf1a3d4792bf5b0a3969746521b27d2a2b4bf06'/>
<id>bbf1a3d4792bf5b0a3969746521b27d2a2b4bf06</id>
<content type='text'>
Fixes #42
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #42
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove the _u compat function.</title>
<updated>2016-08-02T21:56:25+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2016-08-02T21:56:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-interface.git/commit/?id=3973374c6ad1042c1e30a8b43374906b3be753b0'/>
<id>3973374c6ad1042c1e30a8b43374906b3be753b0</id>
<content type='text'>
Since we no longer support 3.2 we can use the literal syntax.

This was done with a quick sed script.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since we no longer support 3.2 we can use the literal syntax.

This was done with a quick sed script.
</pre>
</div>
</content>
</entry>
</feed>
