[PATCH] D68720: Support -fstack-clash-protection for x86
serge via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 15 03:00:09 PDT 2019
serge-sans-paille added a comment.
Some benchmarks, running the python performance suite from recompiled cpython build, one built with `-O2` (baseline) and one built with `-O2 -fstack-clash-protection` (protection). Surprisingly enough, the stack protection makes the code faster in various scenario, but none of these changes present significant regression, according to me.
baseline.json
=============
Performance version: 0.9.1
Report on Linux-3.10.0-891.el7.x86_64-x86_64-with-redhat-7.5-Maipo
Number of logical CPUs: 8
Start date: 2019-10-15 11:16:28.425344
End date: 2019-10-15 11:37:55.064599
protection.json
===============
Performance version: 0.9.1
Report on Linux-3.10.0-891.el7.x86_64-x86_64-with-redhat-7.5-Maipo
Number of logical CPUs: 8
Start date: 2019-10-15 10:55:24.270166
End date: 2019-10-15 11:16:27.195366
+-------------------------+---------------+-----------------+--------------+-----------------------+
| Benchmark | baseline.json | protection.json | Change | Significance |
+=========================+===============+=================+==============+=======================+
| 2to3 | 435 ms | 448 ms | 1.03x slower | Significant (t=-4.26) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| chameleon | 15.0 ms | 14.7 ms | 1.02x faster | Significant (t=4.76) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| chaos | 176 ms | 174 ms | 1.02x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| crypto_pyaes | 153 ms | 150 ms | 1.02x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| deltablue | 11.9 ms | 11.9 ms | 1.00x slower | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| django_template | 210 ms | 223 ms | 1.06x slower | Significant (t=-3.84) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| dulwich_log | 96.1 ms | 102 ms | 1.06x slower | Significant (t=-8.42) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| fannkuch | 703 ms | 698 ms | 1.01x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| float | 161 ms | 160 ms | 1.01x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| genshi_text | 45.5 ms | 45.5 ms | 1.00x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| genshi_xml | 95.3 ms | 95.2 ms | 1.00x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| go | 392 ms | 382 ms | 1.03x faster | Significant (t=5.95) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| hexiom | 16.0 ms | 15.9 ms | 1.01x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| html5lib | 137 ms | 135 ms | 1.01x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| json_dumps | 18.8 ms | 17.9 ms | 1.05x faster | Significant (t=4.81) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| json_loads | 41.3 us | 40.2 us | 1.03x faster | Significant (t=2.53) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| logging_format | 17.4 us | 17.5 us | 1.00x slower | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| logging_silent | 509 ns | 500 ns | 1.02x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| logging_simple | 14.3 us | 14.8 us | 1.04x slower | Significant (t=-5.64) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| mako | 30.6 ms | 30.4 ms | 1.01x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| meteor_contest | 134 ms | 130 ms | 1.03x faster | Significant (t=4.07) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| nbody | 186 ms | 180 ms | 1.03x faster | Significant (t=4.87) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| nqueens | 152 ms | 145 ms | 1.05x faster | Significant (t=5.26) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| pathlib | 29.5 ms | 27.7 ms | 1.07x faster | Significant (t=4.33) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| pickle | 15.7 us | 15.6 us | 1.01x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| pickle_dict | 45.1 us | 43.2 us | 1.04x faster | Significant (t=34.35) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| pickle_list | 6.05 us | 5.67 us | 1.07x faster | Significant (t=5.15) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| pickle_pure_python | 766 us | 786 us | 1.03x slower | Significant (t=-3.19) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| pidigits | 206 ms | 208 ms | 1.01x slower | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| python_startup | 12.4 ms | 12.7 ms | 1.03x slower | Significant (t=-8.03) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| python_startup_no_site | 7.62 ms | 7.75 ms | 1.02x slower | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| raytrace | 830 ms | 805 ms | 1.03x faster | Significant (t=15.48) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| regex_compile | 264 ms | 261 ms | 1.01x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| regex_dna | 195 ms | 195 ms | 1.00x slower | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| regex_effbot | 3.59 ms | 3.50 ms | 1.02x faster | Significant (t=7.90) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| regex_v8 | 30.0 ms | 29.3 ms | 1.02x faster | Significant (t=7.10) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| richards | 122 ms | 120 ms | 1.02x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| scimark_fft | 466 ms | 462 ms | 1.01x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| scimark_lu | 358 ms | 334 ms | 1.07x faster | Significant (t=5.46) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| scimark_monte_carlo | 167 ms | 155 ms | 1.08x faster | Significant (t=4.68) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| scimark_sor | 346 ms | 328 ms | 1.05x faster | Significant (t=7.55) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| scimark_sparse_mat_mult | 5.49 ms | 5.14 ms | 1.07x faster | Significant (t=13.23) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| spectral_norm | 209 ms | 199 ms | 1.05x faster | Significant (t=4.10) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| sympy_expand | 650 ms | 638 ms | 1.02x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| sympy_integrate | 30.8 ms | 30.2 ms | 1.02x faster | Significant (t=9.94) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| sympy_str | 425 ms | 407 ms | 1.04x faster | Significant (t=4.26) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| sympy_sum | 248 ms | 248 ms | 1.00x slower | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| telco | 9.63 ms | 9.37 ms | 1.03x faster | Significant (t=9.26) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| tornado_http | 371 ms | 369 ms | 1.00x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| unpack_sequence | 60.1 ns | 59.0 ns | 1.02x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| unpickle | 19.3 us | 18.9 us | 1.02x faster | Significant (t=8.65) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| unpickle_list | 4.72 us | 4.67 us | 1.01x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| unpickle_pure_python | 576 us | 562 us | 1.02x faster | Significant (t=7.27) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| xml_etree_generate | 156 ms | 153 ms | 1.02x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| xml_etree_iterparse | 157 ms | 146 ms | 1.08x faster | Significant (t=6.27) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| xml_etree_parse | 187 ms | 183 ms | 1.02x faster | Significant (t=4.14) |
+-------------------------+---------------+-----------------+--------------+-----------------------+
| xml_etree_process | 126 ms | 123 ms | 1.02x faster | Not significant |
+-------------------------+---------------+-----------------+--------------+-----------------------+
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D68720/new/
https://reviews.llvm.org/D68720
More information about the cfe-commits
mailing list