Carl Friedrich Bolz-Tereick pushed to branch branch/default at PyPy / pypy
Commits: 060b6d08 by Carl Friedrich Bolz-Tereick at 2022-04-07T21:48:33+02:00 special method shortcut, take 2: this time, try to create the shortcuts automatically from the interp2app instances in the TypeDefs. needs cleanup and tests --HG-- branch : special-method-shortcut-2 - - - - - b4be9fa6 by Carl Friedrich Bolz-Tereick at 2022-04-07T21:54:02+02:00 add a test, make iter use a shortcut --HG-- branch : special-method-shortcut-2 - - - - - 253ddc6b by Carl Friedrich Bolz-Tereick at 2022-04-07T22:07:04+02:00 shortcut for the most common case of binary operations --HG-- branch : special-method-shortcut-2 - - - - - e3fee167 by Carl Friedrich Bolz-Tereick at 2022-04-07T22:24:58+02:00 slices don't work, fix the binop approach --HG-- branch : special-method-shortcut-2 - - - - - bd07d2c0 by Carl Friedrich Bolz-Tereick at 2022-04-08T11:40:09+02:00 refactor somewhat, support for dict iteration and bytes --HG-- branch : special-method-shortcut-2 - - - - - 522faa7e by Carl Friedrich Bolz-Tereick at 2022-04-08T11:43:01+02:00 make sure that old style classes don't have shortcuts --HG-- branch : special-method-shortcut-2 - - - - - bd4fc29d by Carl Friedrich Bolz-Tereick at 2022-04-08T12:35:49+02:00 don't lookup __set__ twice --HG-- branch : special-method-shortcut-2 - - - - - 1b87a1c1 by Carl Friedrich Bolz-Tereick at 2022-04-08T12:39:00+02:00 don't use *args if we generate it anyway --HG-- branch : special-method-shortcut-2 - - - - - 55338504 by Carl Friedrich Bolz-Tereick at 2022-04-08T13:02:18+02:00 add a checker that tests whether the result looks correct. only run when testing --HG-- branch : special-method-shortcut-2 - - - - - 4d158680 by Carl Friedrich Bolz-Tereick at 2022-04-08T13:19:19+02:00 ouch, this made a tuple with an unwrapped None --HG-- branch : special-method-shortcut-2 - - - - - 8120da19 by Carl Friedrich Bolz-Tereick at 2022-04-08T13:19:34+02:00 returning None wraps it --HG-- branch : special-method-shortcut-2 - - - - - a6ed0d0a by Carl Friedrich Bolz-Tereick at 2022-04-08T13:37:08+02:00 fix test --HG-- branch : special-method-shortcut-2 - - - - - 87ec5f74 by Carl Friedrich Bolz-Tereick at 2022-04-08T13:51:00+02:00 comparisons --HG-- branch : special-method-shortcut-2 - - - - - 14f69a06 by Carl Friedrich Bolz-Tereick at 2022-04-08T13:51:08+02:00 generator.next --HG-- branch : special-method-shortcut-2 - - - - - 0348b16d by Carl Friedrich Bolz-Tereick at 2022-04-08T13:54:03+02:00 test for comparisons --HG-- branch : special-method-shortcut-2 - - - - - 20af6d6d by Carl Friedrich Bolz-Tereick at 2022-04-10T15:36:32+02:00 NotImplemented can occur obviously, fix like this --HG-- branch : special-method-shortcut-2 - - - - - 80b3d9f3 by Carl Friedrich Bolz-Tereick at 2022-04-10T15:52:53+02:00 fix test --HG-- branch : special-method-shortcut-2 - - - - - 33669d72 by Carl Friedrich Bolz-Tereick at 2022-04-10T16:36:05+02:00 refactor buffer object to be more Liskov-y --HG-- branch : special-method-shortcut-2 - - - - - 80aa413b by Carl Friedrich Bolz-Tereick at 2022-04-10T16:57:01+02:00 - have some careful checking code that would have found the problem in eb550a9d8752 - don't inline the fallback --HG-- branch : special-method-shortcut-2 - - - - - 8e4f5074 by Carl Friedrich Bolz-Tereick at 2022-04-10T17:15:50+02:00 clarify some inheritance hierarchies --HG-- branch : special-method-shortcut-2 - - - - - 2e991af9 by Carl Friedrich Bolz-Tereick at 2022-04-10T17:33:01+02:00 disable shortcuts for micronumpy (some trouble there) --HG-- branch : special-method-shortcut-2 - - - - - 8956670d by Carl Friedrich Bolz-Tereick at 2022-04-10T18:19:26+02:00 merge default --HG-- branch : special-method-shortcut-2 - - - - - 23a3b0d3 by Carl Friedrich Bolz-Tereick at 2022-04-12T13:25:27+02:00 ouch, fix callable proxies --HG-- branch : special-method-shortcut-2 - - - - - bc2dbf39 by Carl Friedrich Bolz-Tereick at 2022-04-15T14:40:17+02:00 fix test --HG-- branch : special-method-shortcut-2 - - - - - f1e98d3c by Carl Friedrich Bolz-Tereick at 2022-04-15T15:30:40+02:00 merge special-method-shortcut-2: speed up the python interpreter (jitted code is unchanged): auto-generate rpython-level shortcut methods for many special methods. this speeds up the interpreter greatly because we don't need to lookup the special method and don't need to go through the general call machinery at all the effect is comparable to CPython's type slots, but all autogenerated from TypeDefs. it only works for built-in types at this point. an empty for loop over a range gets 50% faster with this optimization in the interpreter - - - - - 14 changed files: - lib-python/2.7/test/test_dict.py - lib-python/2.7/test/test_dictviews.py - pypy/interpreter/gateway.py - pypy/interpreter/generator.py - pypy/interpreter/pyframe.py - pypy/interpreter/typedef.py - pypy/module/_cffi_backend/cbuffer.py - pypy/module/_weakref/interp__weakref.py - pypy/module/exceptions/interp_exceptions.py - pypy/objspace/descroperation.py - pypy/objspace/std/bufferobject.py - pypy/objspace/std/objspace.py - pypy/objspace/std/transparent.py - pypy/objspace/test/test_descroperation.py View it on Heptapod: https://foss.heptapod.net/pypy/pypy/-/compare/e8017173a695b80d45310501be3f2fe0922eb523...f1e98d3cc93fbc2f38ed6a943a9ff747a4653254 -- View it on Heptapod: https://foss.heptapod.net/pypy/pypy/-/compare/e8017173a695b80d45310501be3f2fe0922eb523...f1e98d3cc93fbc2f38ed6a943a9ff747a4653254 You're receiving this email because of your account on foss.heptapod.net.
_______________________________________________ pypy-commit mailing list -- pypy-commit@python.org To unsubscribe send an email to pypy-commit-le...@python.org https://mail.python.org/mailman3/lists/pypy-commit.python.org/ Member address: arch...@mail-archive.com