This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author pablogsal
Recipients pablogsal
Date 2020-10-20.03:18:35
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1603163916.18.0.528007796853.issue42093@roundup.psfhosted.org>
In-reply-to
Content
From the creators of "opcode cache for LOAD_GLOBAL" (https://bugs.python.org/issue26219) now it's time for "opcode cache for LOAD_ATTR: the revenge". This issue/PR builds on top of Yury's original patch in the same way https://bugs.python.org/issue26219 did for LOAD_GLOBAL. 

These are the benchmark results for the pyperformance test suite with PGO/LTO/CPU ISOLATION in a tuned system with pyperf:

+-------------------------+--------------------------------------+-------------------------------------+
| Benchmark               | 2020-10-20_01-18-master-de73d432bb29 | 2020-10-20_02-28-cache-68f931f6938a |
+=========================+======================================+=====================================+
| go                      | 407 ms                               | 349 ms: 1.17x faster (-14%)         |
+-------------------------+--------------------------------------+-------------------------------------+
| raytrace                | 822 ms                               | 730 ms: 1.13x faster (-11%)         |
+-------------------------+--------------------------------------+-------------------------------------+
| unpickle_pure_python    | 497 us                               | 447 us: 1.11x faster (-10%)         |
+-------------------------+--------------------------------------+-------------------------------------+
| scimark_sor             | 311 ms                               | 280 ms: 1.11x faster (-10%)         |
+-------------------------+--------------------------------------+-------------------------------------+
| hexiom                  | 15.4 ms                              | 14.0 ms: 1.10x faster (-9%)         |
+-------------------------+--------------------------------------+-------------------------------------+
| logging_silent          | 302 ns                               | 276 ns: 1.10x faster (-9%)          |
+-------------------------+--------------------------------------+-------------------------------------+
| chaos                   | 176 ms                               | 163 ms: 1.08x faster (-7%)          |
+-------------------------+--------------------------------------+-------------------------------------+
| pyflate                 | 1.01 sec                             | 948 ms: 1.06x faster (-6%)          |
+-------------------------+--------------------------------------+-------------------------------------+
| scimark_lu              | 246 ms                               | 232 ms: 1.06x faster (-6%)          |
+-------------------------+--------------------------------------+-------------------------------------+
| pickle_pure_python      | 712 us                               | 674 us: 1.06x faster (-5%)          |
+-------------------------+--------------------------------------+-------------------------------------+
| regex_effbot            | 4.49 ms                              | 4.26 ms: 1.05x faster (-5%)         |
+-------------------------+--------------------------------------+-------------------------------------+
| scimark_monte_carlo     | 160 ms                               | 153 ms: 1.05x faster (-5%)          |
+-------------------------+--------------------------------------+-------------------------------------+
| richards                | 120 ms                               | 115 ms: 1.05x faster (-4%)          |
+-------------------------+--------------------------------------+-------------------------------------+
| 2to3                    | 458 ms                               | 442 ms: 1.04x faster (-4%)          |
+-------------------------+--------------------------------------+-------------------------------------+
| regex_v8                | 33.7 ms                              | 32.5 ms: 1.04x faster (-3%)         |
+-------------------------+--------------------------------------+-------------------------------------+
| scimark_sparse_mat_mult | 7.16 ms                              | 6.93 ms: 1.03x faster (-3%)         |
+-------------------------+--------------------------------------+-------------------------------------+
| deltablue               | 12.1 ms                              | 11.7 ms: 1.03x faster (-3%)         |
+-------------------------+--------------------------------------+-------------------------------------+
| regex_dna               | 268 ms                               | 261 ms: 1.03x faster (-3%)          |
+-------------------------+--------------------------------------+-------------------------------------+
| meteor_contest          | 152 ms                               | 148 ms: 1.03x faster (-3%)          |
+-------------------------+--------------------------------------+-------------------------------------+
| genshi_xml              | 89.0 ms                              | 87.1 ms: 1.02x faster (-2%)         |
+-------------------------+--------------------------------------+-------------------------------------+
| logging_simple          | 12.8 us                              | 12.5 us: 1.02x faster (-2%)         |
+-------------------------+--------------------------------------+-------------------------------------+
| genshi_text             | 42.4 ms                              | 41.5 ms: 1.02x faster (-2%)         |
+-------------------------+--------------------------------------+-------------------------------------+
| nbody                   | 215 ms                               | 211 ms: 1.02x faster (-2%)          |
+-------------------------+--------------------------------------+-------------------------------------+

Not significant (35): chameleon; django_template; dulwich_log; fannkuch; float; json_dumps; json_loads; logging_format; mako; nqueens; pathlib; pickle; pickle_dict; pickle_list; pidigits; python_startup; python_startup_no_site; regex_compile; scimark_fft; spectral_norm; sqlalchemy_declarative; sqlalchemy_imperative; sqlite_synth; sympy_expand; sympy_sum; sympy_str; telco; tornado_http; unpack_sequence; unpickle; unpickle_list; xml_etree_parse; xml_etree_iterparse; xml_etree_generate; xml_etree_process; sympy_integrate
History
Date User Action Args
2020-10-20 03:18:36pablogsalsetrecipients: + pablogsal
2020-10-20 03:18:36pablogsalsetmessageid: <1603163916.18.0.528007796853.issue42093@roundup.psfhosted.org>
2020-10-20 03:18:36pablogsallinkissue42093 messages
2020-10-20 03:18:35pablogsalcreate