Worth noting that the converted hybrid classes are opt in - by default they are a no-op. This means you can run under TWISTED_NEWSTYLE=1 for your tests to ensure that when all the classes go natively new style, everything works, but leave it off in prod. Then in a later release, all of these classes will go new style, and we'll get the performance gain from only using new style classes.
- Amber
On 23 Mar 2016 12:26, Glyph <gl...@twistedmatrix.com> wrote:
On Mar 22, 2016, at 12:33 PM, L. Daniel Burr <ldanielburr@me.com> wrote:Hi all,Hi Daniel,I tried to comment on the ticket, but SpamBayes rejected it as spam.The spam-monitoring queue is empty, which means another admin probably got to this before I did. But when I plugged the following paragraph in, something about it made spambayes think it was still 70% likely that it was spam. So, I re-trained the filter repeatedly until it came out to <1%; you should have less trouble with it in the future.As a person who runs twisted apps via Pypy whenever possible, I wanted to point out that this ticket may result in a performance regression: according to http://pypy.org/performance.html, "Classes that inherit from both new- and old-style classes are extremely slow; avoid at all costs."In fact, the opposite is true! Right now, every new Twisted class must be new-style, so if it inherits from an old-style class we end up in this situation. Since most core Twisted superclasses are old-style, that means this happens all the time.Nothing about 8244 would involve making more hybrid classes. Classes decorated as @oldStyle must be pure old style (the semantics of hybrids are much, much closer to new-style than old-style) so they have to be what they are today. When we flip the switch there will be no more old-style classes at all.Is there a scenario I'm missing / not understanding about the way the ticket's steps are outlined?-glyph
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python