Re: Exploring using Rust for implementing a faster ZEO server.
Jason Madden <[email protected]>
| Newsgroups | gmane.comp.web.zope.zodb |
|---|---|
| Message-ID | <[email protected]> |
> On Sep 25, 2016, at 11:30, Jim Fulton <[email protected]> wrote: > > I'm exploring using Rust to implement a faster ZEO server. To do a > quick performance comparison, I implemented a file-storage iterator in > Rust. It's about 20x faster (40x excluding system time) than the > Python version. > > Here's a write-up: > > http://jimfulton.info/site/2016/Sep/25/experiment-compare-zodb-file-storage-iteration-with-python-and-rust/ > Interesting results! I'm very curious where PyPy 5.4 falls in the spectrum. Is the file-storage file you used available somewhere to test with? Or if not, would you consider adding a PyPy column to the results table? (The iteration may need to be run a few times for the JIT to fully kick in.) The obvious consequence of writing a ZEO server in another language is that it's not running Python code. This implies (1) client-side conflict resolution and (2) no "stackable" storages, only built-in storages. For example, you'd lose zc.zlibstorage and cipher.encrypingstorage---but those are only needed on the server to do conflict resolution, I think. The only other commonly used ZEO stackable storage I'm aware of is ZRS[1]. That could be built in, but looks to be a sizable code base. ~Jason [1] We once experimented with putting RelStorage inside a ZEO server so that clients with poor network connectivity could use the ZEO persistent cache (in the days before RelStorage had its own persistent cache). It didn't work, for reasons I don't recall. -- You received this message because you are subscribed to the Google Groups "zodb" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.