*** J1m has quit IRC | 00:19 | |
*** J1m has joined #zodb | 00:26 | |
*** J1m has quit IRC | 00:27 | |
*** nueces has quit IRC | 00:51 | |
*** fdrake has quit IRC | 01:10 | |
*** fdrake has joined #zodb | 02:44 | |
*** agroszer has joined #zodb | 09:44 | |
*** mgedmin_ has joined #zodb | 10:29 | |
*** mgedmin_ has quit IRC | 10:42 | |
*** fdrake has quit IRC | 13:43 | |
*** J1m has joined #zodb | 14:33 | |
*** J1m has quit IRC | 15:21 | |
*** fdrake has joined #zodb | 15:40 | |
*** J1m has joined #zodb | 16:11 | |
*** agroszer has quit IRC | 16:19 | |
*** agroszer has joined #zodb | 20:06 | |
*** agroszer has quit IRC | 20:18 | |
*** nueces has joined #zodb | 20:50 | |
srichter | J1m: we are getting close to get the Py3 port of ZODB under control | 22:02 |
---|---|---|
srichter | J1m: what is the process afterwards? | 22:02 |
J1m | very cool | 22:04 |
J1m | did you end up forking the Python 3 cpickle? | 22:04 |
srichter | yes, see zodbpickle | 22:05 |
davisagli | srichter: nice! | 22:05 |
J1m | wrt process, I'm not sure what you're asking. | 22:05 |
srichter | I applied the patch from the issue so that you can specify encoding='bytes' | 22:05 |
srichter | J1m: what would be a reasonable timeline to merge the branch into trunk adn create a 4.0.0a2 release? | 22:05 |
* srichter assumes J1m wants to review the code | 22:05 | |
J1m | that sounds like a weird option name, but whatever. | 22:05 |
srichter | J1m: what would your preferred process be? | 22:06 |
J1m | I spose I do.... | 22:06 |
J1m | pull request | 22:06 |
srichter | ok | 22:07 |
srichter | mgedmin will most likely do that | 22:07 |
J1m | It'll be interesting to compate the github abd bb review process. | 22:07 |
srichter | the big outstanding issue right now is that I ported noload() from cPickle to zodbpickle, but it does not work | 22:07 |
J1m | I've been using bb's a fair bit lately and it's really rather nice. | 22:07 |
srichter | J1m: do noload() buy us a lot of performance? | 22:09 |
srichter | J1m: as far as I can tell, it was only used by some tools | 22:09 |
J1m | It's used for garbage collection. | 22:10 |
J1m | I'd have to review the code to see what else. | 22:11 |
J1m | It may be needed to avoid having application classes around, but maybe not. | 22:11 |
srichter | yes, I was looking for that use case as well | 22:11 |
srichter | in a first version, we could make noload = load in zodbpickle nad later properly implement it | 22:12 |
J1m | They're the same use case. You want to be able to GC without having the classes around. | 22:12 |
srichter | right | 22:12 |
srichter | I really need to write some tests for zodbpickle demonstrating noload() not working | 22:13 |
J1m | It's also used in some utility scripts, but for the same reason, being to get object references without loading objects. | 22:14 |
J1m | It was a hack. | 22:15 |
J1m | I wish I'd added an API called something like "get_references(list) | 22:15 |
J1m | " | 22:15 |
srichter | right, the utility scripts tests is where I have seen noload() being used | 22:15 |
J1m | garbage collection used a function named referencesf, which uses noload | 22:16 |
J1m | s/used/uses | 22:16 |
srichter | yes, though I think the tests do not execute that function | 22:17 |
srichter | mmh, tests/PackableStorage should exercise it | 22:17 |
J1m | right as long as it checks that gc is done right. | 22:18 |
J1m | Note wrt performance, until we have C persistence and BTree implementations, noload will be the least of our problems. | 22:19 |
srichter | I see pack uses it and gets it passed in from the DB object | 22:19 |
J1m | yes | 22:19 |
srichter | aehm, I thought that C persistence and C BTrees are done now | 22:19 |
J1m | Until we have the C code ported or rewritten, this will be an academic exercise. | 22:19 |
* srichter checks | 22:19 | |
*** fgs has quit IRC | 22:21 | |
srichter | J1m: cPersistence.c compiles at least | 22:23 |
srichter | tests pass too | 22:23 |
J1m | OK, I didn't realize that someone had ported that. | 22:24 |
srichter | Tres has been working hard on that | 22:24 |
J1m | so how is the code managed? | 22:24 |
J1m | ifdefs? | 22:24 |
srichter | J1m: yes | 22:25 |
J1m | wow, cool | 22:25 |
srichter | same for BTrees | 22:26 |
J1m | cool | 22:27 |
srichter | BTrees 4.0.2 have full Py3 support with a note that the C extensions are not available for PyPy yet | 22:28 |
J1m | We may have to get more serious about porting bobo :) | 22:28 |
srichter | he he | 22:28 |
srichter | https://github.com/zopefoundation/BTrees/blob/master/CHANGES.rst | 22:28 |
srichter | persistent has C extension support for Python 3 since 4.0.4 | 22:29 |
srichter | https://github.com/zopefoundation/persistent/blob/master/CHANGES.rst | 22:29 |
srichter | btw, we are also close with zope.publisher porting | 22:31 |
J1m | cool | 22:31 |
srichter | a Py3-compatible ZODB release is pretty much the biggest showstopper for a first Zope 3 app to run on Python 3 | 22:33 |
srichter | btw, at some point someone has to remind me what the benefits of Python 3 are ;-) | 22:33 |
srichter | btw2, porting doctests is way easier than was made public ;-) | 22:40 |
J1m | Tres hates doctest | 22:40 |
srichter | yeah, I know he does; his problem ;-) | 22:47 |
srichter | I am not going to rewrite any doctests as regular tests and I recently wrote some of the regulsr unit tests again and was reminded how much I hate them | 22:48 |
*** nueces has quit IRC | 23:28 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!