3
0
Fork 0
forked from mirrors/nixpkgs
Commit graph

300698 commits

Author SHA1 Message Date
Andreas Rammhold 322eb3596b cpython: add enableNoSemanticInterposition flag
This flags enables the -fno-semantic-interposition compiler flag for all
our cpython builds by default. It can be disabled by overriding the
enableNoSemanticInterposition attribute.

This CFLAG has the impact that our python code runs up to 23% faster
than previously. See the pyperformance benchmark results below.

The only downside that exists is that we can no longer override
libpython symbols via LD_PRELOAD when calling the python interpreter. If
a user needs they can disable the newly introduced flag and use that
instead. However those situations should be rare.

The Fedora Project did the equivalent change in their Fedora 32 release
(and haven't reverted it yet). They wrote a nice [wiki page] about the
ups and downs of this change. I recommend reading that.

Benchmark results of running Python 3.9 before and after this change:

+-------------------------+---------------+--------------------+--------------+------------------------+
| Benchmark               | py39.nix.json | py39-nsip.nix.json | Change       | Significance           |
+=========================+===============+====================+==============+========================+
| 2to3                    | 666 ms        | 642 ms             | 1.04x faster | Significant (t=12.73)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| chameleon               | 15.0 ms       | 14.6 ms            | 1.03x faster | Significant (t=4.70)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| chaos                   | 198 ms        | 182 ms             | 1.09x faster | Significant (t=13.73)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| crypto_pyaes            | 185 ms        | 175 ms             | 1.06x faster | Significant (t=9.70)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| deltablue               | 12.3 ms       | 11.2 ms            | 1.10x faster | Significant (t=14.45)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| django_template         | 85.1 ms       | 82.0 ms            | 1.04x faster | Significant (t=6.61)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| dulwich_log             | 102 ms        | 101 ms             | 1.01x faster | Not significant        |
+-------------------------+---------------+--------------------+--------------+------------------------+
| fannkuch                | 670 ms        | 634 ms             | 1.06x faster | Significant (t=15.87)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| float                   | 182 ms        | 176 ms             | 1.03x faster | Significant (t=7.32)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| go                      | 393 ms        | 366 ms             | 1.07x faster | Significant (t=17.63)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| hexiom                  | 15.8 ms       | 14.9 ms            | 1.06x faster | Significant (t=13.81)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| json_dumps              | 19.3 ms       | 18.7 ms            | 1.03x faster | Significant (t=7.46)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| json_loads              | 38.4 us       | 37.9 us            | 1.01x faster | Not significant        |
+-------------------------+---------------+--------------------+--------------+------------------------+
| logging_format          | 15.0 us       | 14.2 us            | 1.05x faster | Significant (t=6.32)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| logging_silent          | 328 ns        | 305 ns             | 1.07x faster | Significant (t=8.85)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| logging_simple          | 13.8 us       | 13.0 us            | 1.06x faster | Significant (t=10.77)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| mako                    | 25.2 ms       | 24.7 ms            | 1.02x faster | Not significant        |
+-------------------------+---------------+--------------------+--------------+------------------------+
| meteor_contest          | 133 ms        | 130 ms             | 1.03x faster | Significant (t=3.59)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| nbody                   | 222 ms        | 201 ms             | 1.10x faster | Significant (t=26.85)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| nqueens                 | 161 ms        | 152 ms             | 1.06x faster | Significant (t=8.84)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| pathlib                 | 28.4 ms       | 26.3 ms            | 1.08x faster | Significant (t=11.85)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| pickle                  | 13.8 us       | 13.1 us            | 1.06x faster | Significant (t=10.84)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| pickle_dict             | 32.7 us       | 26.6 us            | 1.23x faster | Significant (t=32.43)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| pickle_list             | 4.39 us       | 4.34 us            | 1.01x faster | Not significant        |
+-------------------------+---------------+--------------------+--------------+------------------------+
| pickle_pure_python      | 782 us        | 738 us             | 1.06x faster | Significant (t=15.71)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| pidigits                | 184 ms        | 181 ms             | 1.01x faster | Not significant        |
+-------------------------+---------------+--------------------+--------------+------------------------+
| pyflate                 | 1.02 sec      | 959 ms             | 1.07x faster | Significant (t=21.13)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| python_startup          | 34.3 ms       | 34.0 ms            | 1.01x faster | Not significant        |
+-------------------------+---------------+--------------------+--------------+------------------------+
| python_startup_no_site  | 15.5 ms       | 15.3 ms            | 1.01x faster | Not significant        |
+-------------------------+---------------+--------------------+--------------+------------------------+
| raytrace                | 912 ms        | 849 ms             | 1.07x faster | Significant (t=11.21)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| regex_compile           | 273 ms        | 261 ms             | 1.05x faster | Significant (t=5.82)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| regex_dna               | 188 ms        | 187 ms             | 1.00x faster | Not significant        |
+-------------------------+---------------+--------------------+--------------+------------------------+
| regex_effbot            | 3.37 ms       | 3.66 ms            | 1.09x slower | Significant (t=-16.12) |
+-------------------------+---------------+--------------------+--------------+------------------------+
| regex_v8                | 29.8 ms       | 29.7 ms            | 1.01x faster | Not significant        |
+-------------------------+---------------+--------------------+--------------+------------------------+
| richards                | 119 ms        | 113 ms             | 1.05x faster | Significant (t=5.71)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| scimark_fft             | 625 ms        | 592 ms             | 1.06x faster | Significant (t=19.64)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| scimark_lu              | 273 ms        | 253 ms             | 1.08x faster | Significant (t=16.68)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| scimark_monte_carlo     | 186 ms        | 170 ms             | 1.10x faster | Significant (t=14.70)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| scimark_sor             | 330 ms        | 310 ms             | 1.07x faster | Significant (t=11.89)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| scimark_sparse_mat_mult | 9.03 ms       | 8.36 ms            | 1.08x faster | Significant (t=17.71)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| spectral_norm           | 247 ms        | 232 ms             | 1.06x faster | Significant (t=14.64)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| sqlalchemy_declarative  | 194 ms        | 185 ms             | 1.04x faster | Significant (t=4.80)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| sqlalchemy_imperative   | 28.2 ms       | 27.4 ms            | 1.03x faster | Significant (t=3.80)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| sqlite_synth            | 4.89 us       | 4.73 us            | 1.03x faster | Significant (t=10.60)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| sympy_expand            | 833 ms        | 813 ms             | 1.02x faster | Significant (t=4.82)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| sympy_integrate         | 33.0 ms       | 31.6 ms            | 1.05x faster | Significant (t=6.47)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| sympy_str               | 490 ms        | 477 ms             | 1.03x faster | Significant (t=7.58)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| sympy_sum               | 254 ms        | 245 ms             | 1.04x faster | Significant (t=7.82)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| telco                   | 11.6 ms       | 11.3 ms            | 1.03x faster | Significant (t=5.62)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| tornado_http            | 175 ms        | 172 ms             | 1.02x faster | Not significant        |
+-------------------------+---------------+--------------------+--------------+------------------------+
| unpack_sequence         | 51.4 ns       | 56.2 ns            | 1.09x slower | Significant (t=-2.40)  |
+-------------------------+---------------+--------------------+--------------+------------------------+
| unpickle                | 20.3 us       | 19.8 us            | 1.02x faster | Significant (t=4.09)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| unpickle_list           | 5.41 us       | 5.75 us            | 1.06x slower | Significant (t=-26.56) |
+-------------------------+---------------+--------------------+--------------+------------------------+
| unpickle_pure_python    | 544 us        | 524 us             | 1.04x faster | Significant (t=6.47)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| xml_etree_generate      | 154 ms        | 148 ms             | 1.04x faster | Significant (t=7.98)   |
+-------------------------+---------------+--------------------+--------------+------------------------+
| xml_etree_iterparse     | 130 ms        | 129 ms             | 1.01x faster | Not significant        |
+-------------------------+---------------+--------------------+--------------+------------------------+
| xml_etree_parse         | 178 ms        | 179 ms             | 1.00x slower | Not significant        |
+-------------------------+---------------+--------------------+--------------+------------------------+
| xml_etree_process       | 123 ms        | 118 ms             | 1.04x faster | Significant (t=10.22)  |
+-------------------------+---------------+--------------------+--------------+------------------------+

[wiki page]: https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup
2021-07-05 12:34:02 -07:00
Frederik Rietdijk 94cd70bae2 python3: 3.8 -> 3.9 2021-07-05 12:34:02 -07:00
github-actions[bot] a28ba52cac
Merge staging-next into staging 2021-07-05 18:01:46 +00:00
github-actions[bot] e16d818a0b
Merge master into staging-next 2021-07-05 18:01:11 +00:00
Sandro 1fc739750a
Merge pull request #127792 from tnias/update/shortwave
shortwave: 1.1.1 -> 2.0.1
2021-07-05 19:53:35 +02:00
devins2518 6ecbfcdb36
init FixCursorHold-nvim at 2021-04-16 (#129264) 2021-07-05 19:35:14 +02:00
Sandro da98267652
Merge pull request #128857 from fortuneteller2k/kile 2021-07-05 19:34:22 +02:00
fortuneteller2k 1e93147662 kile-wl: 2021-06-01 -> 2021-06-24 2021-07-08 03:33:31 +08:00
R. RyanTM 3a5b1686c4 freenect: 0.6.1 -> 0.6.2 2021-07-05 19:31:13 +02:00
Maximilian Bosch 94982e6f87
Merge pull request #129327 from r-ryantm/auto-update/cppcheck
cppcheck: 2.4 -> 2.5
2021-07-05 19:16:13 +02:00
Sandro 9f00b5f6fd
Merge pull request #129265 from baracoder/flatpack-fix-binutils
flatpak-builder: Use binutils-unwrapped
2021-07-05 19:14:24 +02:00
evils b8266fc521
usb-reset: init at 0.3 (#129296)
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2021-07-05 19:10:01 +02:00
Louis Bettens 7e44fcfb14
chia: unbreak (#128498)
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2021-07-05 19:09:47 +02:00
Dmitry Bogatov 3b901be6bb
jsonnet: add output with html documentation (#128990)
Co-authored-by: Dmitry Bogatov <git#v1@kaction.cc>
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2021-07-05 19:09:30 +02:00
Sandro 2f62c2f53d
Merge pull request #128863 from cburstedde/package-p4est-sc 2021-07-05 19:02:56 +02:00
Sandro f5737fd1f3
Merge pull request #128638 from petrosagg/mz-0.8.1
materialize: 0.8.0 -> 0.8.1
2021-07-05 19:00:22 +02:00
Sandro aa223d821b
Merge pull request #129298 from jojosch/dbeaver-21.1.2
dbeaver: 21.1.1 -> 21.1.2
2021-07-05 18:59:37 +02:00
Sandro e80ea25633
Merge pull request #129301 from dotlambda/kdeltachat-2021-07-04
kdeltachat: unstable-2021-06-27 -> unstable-2021-07-04
2021-07-05 18:59:16 +02:00
Sandro efc5f35d15
Merge pull request #129322 from fabaff/bump-mcstatus
python3Packages.mcstatus: 6.1.2 -> 6.2.0
2021-07-05 18:58:21 +02:00
Sandro 9de42ed3ea
Merge pull request #129340 from fabaff/fix-cloud-init 2021-07-05 18:58:02 +02:00
Sandro 116e7cef33
Merge pull request #129268 from prusnak/python-libusb1
python3Packages.libusb1: 1.9.2 -> 1.9.3
2021-07-05 18:57:39 +02:00
Sandro e335544a61
Merge pull request #129316 from dotlambda/ytmusicapi-0.18.0
python3Packages.ytmusicapi: 0.17.3 -> 0.18.0
2021-07-05 18:56:54 +02:00
Sandro 1619046572
Merge pull request #126894 from Stunkymonkey/pname&version 2021-07-05 18:52:04 +02:00
Sandro 5daf2b8e90
Merge pull request #126993 from Stunkymonkey/2pname&name 2021-07-05 18:51:19 +02:00
Sandro 5f8e46feb0
Merge pull request #129177 from r-ryantm/auto-update/kustomize
kustomize: 4.1.3 -> 4.2.0
2021-07-05 18:50:39 +02:00
Sandro a00a31df2f
Merge pull request #129161 from r-ryantm/auto-update/intel-media-sdk
intel-media-sdk: 21.2.2 -> 21.2.3
2021-07-05 18:46:49 +02:00
Sandro b4bd3a50b2
Merge pull request #91254 from mausch/pianoteq 2021-07-05 18:44:30 +02:00
Sandro 987c9c9660
Merge pull request #129332 from LibreCybernetics/update-pijul
pijul: 1.0.0-alpha.48 → 1.0.0-alpha.50
2021-07-05 18:43:25 +02:00
Sandro 01e2d5fb4e
Merge pull request #129335 from fgaz/warzone2100/4.1.0 2021-07-05 18:41:49 +02:00
Jonas Heinrich 6a53ffac3e
checkra1n: init at 0.12.4 (#128798) 2021-07-05 18:39:59 +02:00
Sandro fa3d2f1a69
Merge pull request #129302 from r-ryantm/auto-update/fheroes2
fheroes2: 0.9.4 -> 0.9.5
2021-07-05 18:35:57 +02:00
Sandro 249f414699
Merge pull request #128924 from fortuneteller2k/stevenblack
stevenblack-blocklist: 3.7.11 -> 3.7.12
2021-07-05 18:33:38 +02:00
Fabian Affolter e011c42e37 cloud-init: 20.3 -> 21.2 2021-07-05 18:32:26 +02:00
Roger Qiu 3d64b6067f
nodePackages.pkg: init at 5.3.0 (#128967) 2021-07-05 18:30:02 +02:00
Sandro 061caa4e01
Merge pull request #129297 from r-ryantm/auto-update/lightspark
lightspark: 0.8.4.1 -> 0.8.5
2021-07-05 18:19:46 +02:00
Sandro 42347b9485
Merge pull request #129203 from r-ryantm/auto-update/ecpdap
ecpdap: 0.1.6 -> 0.1.7
2021-07-05 18:19:36 +02:00
Sandro ed79adc782
Merge pull request #129269 from Izorkin/mariadb-fix 2021-07-05 18:19:13 +02:00
Sandro e70ab6e1f3
Merge pull request #129254 from fabaff/bump-suricata
suricata: 6.0.2 -> 6.0.3
2021-07-05 18:18:22 +02:00
Sandro cba0fdc292
Merge pull request #129310 from paumr/bugfix_cnijfilter 2021-07-05 18:12:09 +02:00
Sandro 1c267cb07d
Merge pull request #129027 from fabaff/bump-discogs-client 2021-07-05 18:06:59 +02:00
Sandro 0928f8b0d3
Merge pull request #129239 from LeSuisse/trafficserver-9.0.2
trafficserver: 9.0.1 -> 9.0.2
2021-07-05 18:04:15 +02:00
Francesco Gazzetta 299f265ce5 warzone2100: 4.0.1 -> 4.1.0 2021-07-05 17:53:36 +02:00
Fabián Heredia Montiel bb6bdc62ec pijul: 1.0.0-alpha.48 → 1.0.0-alpha.50 2021-07-05 10:36:58 -05:00
Michael Weiss bf498746d3
Merge pull request #129324 from sternenseemann/chromium-cross-eval
chromium: move ed and makeWrapper into nativeBuildInputs
2021-07-05 16:34:28 +02:00
R. RyanTM 5eee95b3fa cppcheck: 2.4 -> 2.5 2021-07-05 14:06:14 +00:00
Luke Granger-Brown 621168bf03
Merge pull request #129323 from r-ryantm/auto-update/bird-exporter
prometheus-bird-exporter: 1.2.5 -> 1.2.6
2021-07-05 14:19:44 +01:00
Thomas Gerbet d41e86c67f trafficserver: 9.0.1 -> 9.0.2
Fixes CVE-2021-32566 and CVE-2021-32567.
2021-07-05 15:16:06 +02:00
Fabian Affolter 870fe4981b
Merge pull request #129314 from dotlambda/metadata-cleaner-1.0.7
metadata-cleaner: 1.0.6 -> 1.0.7
2021-07-05 14:58:55 +02:00
sternenseemann 524aa1c87c chromium: move ed and makeWrapper into nativeBuildInputs
This most notably fixes cross _evaluation_ of chromium which previously
would fail because makeWrapper relies on runtimeShell which is not
available in the HostTarget package set.

I tested that the native chromium build still works, but haven't tried
cross compiling it yet. There very well may be additional errors, but at
least they will be build errors, not hard to understand evaluation
errors.
2021-07-05 14:58:52 +02:00
R. RyanTM 502618f5f9 prometheus-bird-exporter: 1.2.5 -> 1.2.6 2021-07-05 12:55:24 +00:00