Martin Weinelt
e2575c7de1
Merge branch 'master' into staging-next
2021-08-30 16:08:03 +02:00
sternenseemann
2784f1bd69
pkgsMusl.python*: disable LTO
...
LTO fails to build with musl with the following linker error:
```
rm -f libpython3.9.a
if test libpython3.9.so.1.0 != libpython3.9.so; then \
gcc -shared -L/nix/store/1dlhc7w4dlacgmkjbcx9454givv4kdqj-zlib-1.2.11/lib -L/nix/store/6fdwln0ac2p100dhifk2picm0c2d0bw3-bzip2-1.0.6.0.2/lib -L/nix/store/540aidi6ppgnjdd60ky4m6sm6ml824sp-expat-2.4.1/lib -L/nix/store/b493yxrr0glvv3988mkagqlq5k8rg5g1-xz-5.2.5/lib -L/nix/store/2145y7j63691khrjqhn66gc3srb52af8-libffi-3.3/lib -L/nix/store/4h0qimk9kkkrd1v9j6j0v3r3gqg6w22a-gdbm-1.20/lib -L/nix/store/b8n0k1vhjdg0r95x8d2ybgrmbdlhw738-sqlite-3.35.5/lib -L/nix/store/f4y7v8k7ar3n05h3446k6z4aa1c77n22-readline-6.3p08/lib -L/nix/store/j79lxjyfin611lz3rm0mzc26afxm3dgm-ncurses-6.2/lib -L/nix/store/mqs20xckz2gj0asgy2hv60h5dg1i3ci5-openssl-1.1.1k/lib -L/nix/store/hbfls4hgbjn8cb0d4m0kgz4a4cwlcbx5-tzdata-2021a/lib -L/nix/store/1dlhc7w4dlacgmkjbcx9454givv4kdqj-zlib-1.2.11/lib -L/nix/store/6fdwln0ac2p100dhifk2picm0c2d0bw3-bzip2-1.0.6.0.2/lib -L/nix/store/540aidi6ppgnjdd60ky4m6sm6ml824sp-expat-2.4.1/lib -L/nix/store/b493yxrr0glvv3988mkagqlq5k8rg5g1-xz-5.2.5/lib -L/nix/store/2145y7j63691khrjqhn66gc3srb52af8-libffi-3.3/lib -L/nix/store/4h0qimk9kkkrd1v9j6j0v3r3gqg6w22a-gdbm-1.20/lib -L/nix/store/b8n0k1vhjdg0r95x8d2ybgrmbdlhw738-sqlite-3.35.5/lib -L/nix/store/f4y7v8k7ar3n05h3446k6z4aa1c77n22-readline-6.3p08/lib -L/nix/store/j79lxjyfin611lz3rm0mzc26afxm3dgm-ncurses-6.2/lib -L/nix/store/mqs20xckz2gj0asgy2hv60h5dg1i3ci5-openssl-1.1.1k/lib -L/nix/store/hbfls4hgbjn8cb0d4m0kgz4a4cwlcbx5-tzdata-2021a/lib -flto -fuse-linker-plugin -ffat-lto-objects -flto-partition=none -g -Wl,-hlibpython3.9.so.1.0 -o libpython3.9.so.1.0 Modules/getbuildinfo.o Parser/acceler.o Parser/grammar1.o Parser/listnode.o Parser/node.o Parser/parser.o Parser/token.o Parser/pegen/pegen.o Parser/pegen/parse.o Parser/pegen/parse_string.o Parser/pegen/peg_api.o Parser/myreadline.o Parser/parsetok.o Parser/tokenizer.o Objects/abstract.o Objects/accu.o Objects/boolobject.o Objects/bytes_methods.o Objects/bytearrayobject.o Objects/bytesobject.o Objects/call.o Objects/capsule.o Objects/cellobject.o Objects/classobject.o Objects/codeobject.o Objects/complexobject.o Objects/descrobject.o Objects/enumobject.o Objects/exceptions.o Objects/genericaliasobject.o Objects/genobject.o Objects/fileobject.o Objects/floatobject.o Objects/frameobject.o Objects/funcobject.o Objects/interpreteridobject.o Objects/iterobject.o Objects/listobject.o Objects/longobject.o Objects/dictobject.o Objects/odictobject.o Objects/memoryobject.o Objects/methodobject.o Objects/moduleobject.o Objects/namespaceobject.o Objects/object.o Objects/obmalloc.o Objects/picklebufobject.o Objects/rangeobject.o Objects/setobject.o Objects/sliceobject.o Objects/structseq.o Objects/tupleobject.o Objects/typeobject.o Objects/unicodeobject.o Objects/unicodectype.o Objects/weakrefobject.o Python/_warnings.o Python/Python-ast.o Python/asdl.o Python/ast.o Python/ast_opt.o Python/ast_unparse.o Python/bltinmodule.o Python/ceval.o Python/codecs.o Python/compile.o Python/context.o Python/dynamic_annotations.o Python/errors.o Python/frozenmain.o Python/future.o Python/getargs.o Python/getcompiler.o Python/getcopyright.o Python/getplatform.o Python/getversion.o Python/graminit.o Python/hamt.o Python/hashtable.o Python/import.o Python/importdl.o Python/initconfig.o Python/marshal.o Python/modsupport.o Python/mysnprintf.o Python/mystrtoul.o Python/pathconfig.o Python/peephole.o Python/preconfig.o Python/pyarena.o Python/pyctype.o Python/pyfpe.o Python/pyhash.o Python/pylifecycle.o Python/pymath.o Python/pystate.o Python/pythonrun.o Python/pytime.o Python/bootstrap_hash.o Python/structmember.o Python/symtable.o Python/sysmodule.o Python/thread.o Python/traceback.o Python/getopt.o Python/pystrcmp.o Python/pystrtod.o Python/pystrhex.o Python/dtoa.o Python/formatter_unicode.o Python/fileutils.o Python/dynload_shlib.o Modules/config.o Modules/getpath.o Modules/main.o Modules/gcmodule.o Modules/posixmodule.o Modules/errnomodule.o Modules/pwdmodule.o Modules/_sre.o Modules/_codecsmodule.o Modules/_weakref.o Modules/_functoolsmodule.o Modules/_operator.o Modules/_collectionsmodule.o Modules/_abc.o Modules/itertoolsmodule.o Modules/atexitmodule.o Modules/signalmodule.o Modules/_stat.o Modules/timemodule.o Modules/_threadmodule.o Modules/_localemodule.o Modules/_iomodule.o Modules/iobase.o Modules/fileio.o Modules/bytesio.o Modules/bufferedio.o Modules/textio.o Modules/stringio.o Modules/faulthandler.o Modules/_tracemalloc.o Modules/_peg_parser.o Modules/symtablemodule.o Modules/xxsubtype.o Python/frozen.o -ldl -lcrypt -lncurses -lm -lm; \
ln -f libpython3.9.so.1.0 libpython3.9.so; \
else \
gcc -shared -L/nix/store/1dlhc7w4dlacgmkjbcx9454givv4kdqj-zlib-1.2.11/lib -L/nix/store/6fdwln0ac2p100dhifk2picm0c2d0bw3-bzip2-1.0.6.0.2/lib -L/nix/store/540aidi6ppgnjdd60ky4m6sm6ml824sp-expat-2.4.1/lib -L/nix/store/b493yxrr0glvv3988mkagqlq5k8rg5g1-xz-5.2.5/lib -L/nix/store/2145y7j63691khrjqhn66gc3srb52af8-libffi-3.3/lib -L/nix/store/4h0qimk9kkkrd1v9j6j0v3r3gqg6w22a-gdbm-1.20/lib -L/nix/store/b8n0k1vhjdg0r95x8d2ybgrmbdlhw738-sqlite-3.35.5/lib -L/nix/store/f4y7v8k7ar3n05h3446k6z4aa1c77n22-readline-6.3p08/lib -L/nix/store/j79lxjyfin611lz3rm0mzc26afxm3dgm-ncurses-6.2/lib -L/nix/store/mqs20xckz2gj0asgy2hv60h5dg1i3ci5-openssl-1.1.1k/lib -L/nix/store/hbfls4hgbjn8cb0d4m0kgz4a4cwlcbx5-tzdata-2021a/lib -L/nix/store/1dlhc7w4dlacgmkjbcx9454givv4kdqj-zlib-1.2.11/lib -L/nix/store/6fdwln0ac2p100dhifk2picm0c2d0bw3-bzip2-1.0.6.0.2/lib -L/nix/store/540aidi6ppgnjdd60ky4m6sm6ml824sp-expat-2.4.1/lib -L/nix/store/b493yxrr0glvv3988mkagqlq5k8rg5g1-xz-5.2.5/lib -L/nix/store/2145y7j63691khrjqhn66gc3srb52af8-libffi-3.3/lib -L/nix/store/4h0qimk9kkkrd1v9j6j0v3r3gqg6w22a-gdbm-1.20/lib -L/nix/store/b8n0k1vhjdg0r95x8d2ybgrmbdlhw738-sqlite-3.35.5/lib -L/nix/store/f4y7v8k7ar3n05h3446k6z4aa1c77n22-readline-6.3p08/lib -L/nix/store/j79lxjyfin611lz3rm0mzc26afxm3dgm-ncurses-6.2/lib -L/nix/store/mqs20xckz2gj0asgy2hv60h5dg1i3ci5-openssl-1.1.1k/lib -L/nix/store/hbfls4hgbjn8cb0d4m0kgz4a4cwlcbx5-tzdata-2021a/lib -flto -fuse-linker-plugin -ffat-lto-objects -flto-partition=none -g -o libpython3.9.so Modules/getbuildinfo.o Parser/acceler.o Parser/grammar1.o Parser/listnode.o Parser/node.o Parser/parser.o Parser/token.o Parser/pegen/pegen.o Parser/pegen/parse.o Parser/pegen/parse_string.o Parser/pegen/peg_api.o Parser/myreadline.o Parser/parsetok.o Parser/tokenizer.o Objects/abstract.o Objects/accu.o Objects/boolobject.o Objects/bytes_methods.o Objects/bytearrayobject.o Objects/bytesobject.o Objects/call.o Objects/capsule.o Objects/cellobject.o Objects/classobject.o Objects/codeobject.o Objects/complexobject.o Objects/descrobject.o Objects/enumobject.o Objects/exceptions.o Objects/genericaliasobject.o Objects/genobject.o Objects/fileobject.o Objects/floatobject.o Objects/frameobject.o Objects/funcobject.o Objects/interpreteridobject.o Objects/iterobject.o Objects/listobject.o Objects/longobject.o Objects/dictobject.o Objects/odictobject.o Objects/memoryobject.o Objects/methodobject.o Objects/moduleobject.o Objects/namespaceobject.o Objects/object.o Objects/obmalloc.o Objects/picklebufobject.o Objects/rangeobject.o Objects/setobject.o Objects/sliceobject.o Objects/structseq.o Objects/tupleobject.o Objects/typeobject.o Objects/unicodeobject.o Objects/unicodectype.o Objects/weakrefobject.o Python/_warnings.o Python/Python-ast.o Python/asdl.o Python/ast.o Python/ast_opt.o Python/ast_unparse.o Python/bltinmodule.o Python/ceval.o Python/codecs.o Python/compile.o Python/context.o Python/dynamic_annotations.o Python/errors.o Python/frozenmain.o Python/future.o Python/getargs.o Python/getcompiler.o Python/getcopyright.o Python/getplatform.o Python/getversion.o Python/graminit.o Python/hamt.o Python/hashtable.o Python/import.o Python/importdl.o Python/initconfig.o Python/marshal.o Python/modsupport.o Python/mysnprintf.o Python/mystrtoul.o Python/pathconfig.o Python/peephole.o Python/preconfig.o Python/pyarena.o Python/pyctype.o Python/pyfpe.o Python/pyhash.o Python/pylifecycle.o Python/pymath.o Python/pystate.o Python/pythonrun.o Python/pytime.o Python/bootstrap_hash.o Python/structmember.o Python/symtable.o Python/sysmodule.o Python/thread.o Python/traceback.o Python/getopt.o Python/pystrcmp.o Python/pystrtod.o Python/pystrhex.o Python/dtoa.o Python/formatter_unicode.o Python/fileutils.o Python/dynload_shlib.o Modules/config.o Modules/getpath.o Modules/main.o Modules/gcmodule.o Modules/posixmodule.o Modules/errnomodule.o Modules/pwdmodule.o Modules/_sre.o Modules/_codecsmodule.o Modules/_weakref.o Modules/_functoolsmodule.o Modules/_operator.o Modules/_collectionsmodule.o Modules/_abc.o Modules/itertoolsmodule.o Modules/atexitmodule.o Modules/signalmodule.o Modules/_stat.o Modules/timemodule.o Modules/_threadmodule.o Modules/_localemodule.o Modules/_iomodule.o Modules/iobase.o Modules/fileio.o Modules/bytesio.o Modules/bufferedio.o Modules/textio.o Modules/stringio.o Modules/faulthandler.o Modules/_tracemalloc.o Modules/_peg_parser.o Modules/symtablemodule.o Modules/xxsubtype.o Python/frozen.o -ldl -lcrypt -lncurses -lm -lm; \
fi
ar rcs libpython3.9.a Modules/getbuildinfo.o Parser/acceler.o Parser/grammar1.o Parser/listnode.o Parser/node.o Parser/parser.o Parser/token.o Parser/pegen/pegen.o Parser/pegen/parse.o Parser/pegen/parse_string.o Parser/pegen/peg_api.o Parser/myreadline.o Parser/parsetok.o Parser/tokenizer.o Objects/abstract.o Objects/accu.o Objects/boolobject.o Objects/bytes_methods.o Objects/bytearrayobject.o Objects/bytesobject.o Objects/call.o Objects/capsule.o Objects/cellobject.o Objects/classobject.o Objects/codeobject.o Objects/complexobject.o Objects/descrobject.o Objects/enumobject.o Objects/exceptions.o Objects/genericaliasobject.o Objects/genobject.o Objects/fileobject.o Objects/floatobject.o Objects/frameobject.o Objects/funcobject.o Objects/interpreteridobject.o Objects/iterobject.o Objects/listobject.o Objects/longobject.o Objects/dictobject.o Objects/odictobject.o Objects/memoryobject.o Objects/methodobject.o Objects/moduleobject.o Objects/namespaceobject.o Objects/object.o Objects/obmalloc.o Objects/picklebufobject.o Objects/rangeobject.o Objects/setobject.o Objects/sliceobject.o Objects/structseq.o Objects/tupleobject.o Objects/typeobject.o Objects/unicodeobject.o Objects/unicodectype.o Objects/weakrefobject.o Python/_warnings.o Python/Python-ast.o Python/asdl.o Python/ast.o Python/ast_opt.o Python/ast_unparse.o Python/bltinmodule.o Python/ceval.o Python/codecs.o Python/compile.o Python/context.o Python/dynamic_annotations.o Python/errors.o Python/frozenmain.o Python/future.o Python/getargs.o Python/getcompiler.o Python/getcopyright.o Python/getplatform.o Python/getversion.o Python/graminit.o Python/hamt.o Python/hashtable.o Python/import.o Python/importdl.o Python/initconfig.o Python/marshal.o Python/modsupport.o Python/mysnprintf.o Python/mystrtoul.o Python/pathconfig.o Python/peephole.o Python/preconfig.o Python/pyarena.o Python/pyctype.o Python/pyfpe.o Python/pyhash.o Python/pylifecycle.o Python/pymath.o Python/pystate.o Python/pythonrun.o Python/pytime.o Python/bootstrap_hash.o Python/structmember.o Python/symtable.o Python/sysmodule.o Python/thread.o Python/traceback.o Python/getopt.o Python/pystrcmp.o Python/pystrtod.o Python/pystrhex.o Python/dtoa.o Python/formatter_unicode.o Python/fileutils.o Python/dynload_shlib.o Modules/config.o Modules/getpath.o Modules/main.o Modules/gcmodule.o Modules/posixmodule.o Modules/errnomodule.o Modules/pwdmodule.o Modules/_sre.o Modules/_codecsmodule.o Modules/_weakref.o Modules/_functoolsmodule.o Modules/_operator.o Modules/_collectionsmodule.o Modules/_abc.o Modules/itertoolsmodule.o Modules/atexitmodule.o Modules/signalmodule.o Modules/_stat.o Modules/timemodule.o Modules/_threadmodule.o Modules/_localemodule.o Modules/_iomodule.o Modules/iobase.o Modules/fileio.o Modules/bytesio.o Modules/bufferedio.o Modules/textio.o Modules/stringio.o Modules/faulthandler.o Modules/_tracemalloc.o Modules/_peg_parser.o Modules/symtablemodule.o Modules/xxsubtype.o Python/frozen.o
In function ‘assemble_lnotab’,
inlined from ‘assemble_emit’ at Python/compile.c:5717:0,
inlined from ‘assemble’ at Python/compile.c:6056:0:
Python/compile.c:5671: warning: writing 1 byte into a region of size 0 [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wstringop-overflow= -Wstringop-overflow=8;;]
5671 | *lnotab++ = k;
|
/nix/store/vf20zcyqr3qzcjhdidzk377qankcqsqa-binutils-2.35.1/bin/ld: libpython3.9.so.1.0.lto.o: warning: relocation against `PyDictValues_Type' in read-only section `.text'
/nix/store/vf20zcyqr3qzcjhdidzk377qankcqsqa-binutils-2.35.1/bin/ld: libpython3.9.so.1.0.lto.o: relocation R_X86_64_PC32 against symbol `PyBool_Type' can not be used when making a shared object; recompile with -fPIC
/nix/store/vf20zcyqr3qzcjhdidzk377qankcqsqa-binutils-2.35.1/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
ln: failed to access 'libpython3.9.so.1.0': No such file or directory
```
This should be investigated (since it should be possible), but disabling it for
now seems better than having a significant percentage of pkgsMusl broken.
Ref https://github.com/NixOS/nixpkgs/issues/131557 .
2021-08-28 12:28:12 +00:00
Guillaume Girol
73dee3ad4e
python3: add strictDeps = true
2021-08-19 09:30:47 +02:00
Guillaume Girol
79b32fc422
python27: use strictDeps = true;
2021-08-19 09:30:47 +02:00
Guillaume Girol
36acee3820
python3: fix static build
2021-08-19 09:30:46 +02:00
Guillaume Girol
37962fc5fb
python27: fix static build
2021-08-19 09:30:44 +02:00
github-actions[bot]
4dfde9ac8e
Merge staging-next into staging
2021-08-15 18:01:33 +00:00
Robert Hensing
fbafeb7ad5
treewide: runCommandNoCC -> runCommand
...
This has been synonymous for ~5y.
2021-08-15 17:36:41 +02:00
Angus Trau
c5ee55ef26
python39: fix tkinter and decimal on aarch64-darwin
2021-08-14 09:39:38 +10:00
Jan Tojnar
807d3ec359
Merge branch 'staging-next' into staging
...
; Conflicts:
; pkgs/tools/misc/t1utils/default.nix
2021-08-11 16:34:11 +02:00
Martin Weinelt
ebc4dae8cb
python310: 3.10.0b3 -> 3.10.0rc1
2021-08-09 07:49:03 +02:00
Frederik Rietdijk
23e348bfe2
python2 and python3: build unoptimized bytecode again
...
In 9d03ff5222
I made the CPython builds
reproducible. This required not generating default unoptimized bytecode.
I was under the impression the optimized bytecode would be used then,
but you need to opt-in on that. Not having the default bytecode resulted
in a significant performance hit. Therefore, bytecode is generated again
in this commit, and thereby the builds are no longer reproducible.
https://bugs.python.org/issue29708
2021-07-30 09:27:42 +02:00
Frederik Rietdijk
8dcfe523f7
Merge pull request #131719 from FRidh/python2-to-3
...
Python: further migrate packages from 2 to 3
2021-07-29 10:49:00 +02:00
Frederik Rietdijk
b3b31074b2
python interpreters: use correct python when
...
calling pythonPackages.
2021-07-27 20:42:01 +02:00
github-actions[bot]
732bd85cf5
Merge staging-next into staging
2021-07-17 12:01:55 +00:00
github-actions[bot]
4ee4d805d2
Merge master into staging-next
2021-07-17 12:01:22 +00:00
Jörg Thalheim
08846decc9
Merge remote-tracking branch 'upstream/staging-next' into HEAD
2021-07-17 07:38:25 +02:00
Dmitry Kalinkin
3d68137c6e
pypy: 7.3.3 -> 7.3.5
2021-07-16 23:31:15 -04:00
Dmitry Kalinkin
c168edeeb9
pypy3: change pythonVersion to 3.7
2021-07-16 10:43:55 -04:00
Dmitry Kalinkin
d557708761
pypy: don't try to fetch vendored dependencies for cffi bindings
...
Specifically, this affects _ssl and lzma.
This should be useful on Hydra/macOS where sandboxing is disabled.
2021-07-16 06:39:08 -04:00
Vladimír Čunát
1f2b1f3bb0
cpython: restrict enableLTO to Linux
...
Both darwin platforms would fail:
https://hydra.nixos.org/build/147600631
https://hydra.nixos.org/build/147646604
And as it seems to be a risky feature, I switched other platforms along
(though none are on the official build farm)
2021-07-16 10:32:33 +02:00
Dmitry Kalinkin
b43959a817
pypy: fix for sandboxed darwin
...
The implementation of multiprocessing.cpu_count() tries to call the
impure sysctl binary. In the sandbox that fails, so cffi bindings are
not generated.
2021-07-16 01:59:26 -04:00
Martin Weinelt
b322c5ecaa
python37: 3.7.10 -> 3.7.11
2021-07-10 00:02:07 +02:00
Martin Weinelt
e1e245f203
python36: 3.6.13 -> 3.6.14
2021-07-10 00:01:56 +02:00
Martin Weinelt
360c50f11d
python39: 3.9.5 -> 3.9.6
2021-07-10 00:01:41 +02:00
Martin Weinelt
250f0514f2
python38: 3.8.10 -> 3.8.11
2021-07-10 00:01:20 +02:00
Martin Weinelt
fac5757eec
cpython: disable no-semantic-interposition with older clang versions
...
> clang-7: error: unknown argument: '-fno-semantic-interposition'
This primarily affects current darwin builds, but as soon as they
migrate to a newer clang version they will immediately start benefitting
from this change.
2021-07-09 22:24:43 +02:00
Jonathan Ringer
07571e7ae5
python3: only enable LTO for 64bit builds
...
Avoid failures with 32bit builds:
```
cc1: error: LTO support has not been enabled in this configuration
```
2021-07-05 12:34:02 -07:00
Andreas Rammhold
1e47dd9cb8
cpython: Enable LTO on all builds as it doesn't break reproducibility
...
LTO allows us to optimise the binaries we are shipping a bit further
than just with the regular -Ox and other compiler flags. It also is
deterministic and doesn't harm our reproducibility efforts while
providing us with up to 10% performance gain (and sometimes slightly
slower). See the table below for a comparsion of this version with the
Python 3.9 build that sets -fno-semantic-interposition.
+-------------------------+--------------------+------------------------+--------------+------------------------+
| Benchmark | py39-nsip.nix.json | py39-nsip-lto.nix.json | Change | Significance |
+=========================+====================+========================+==============+========================+
| 2to3 | 642 ms | 620 ms | 1.03x faster | Significant (t=12.04) |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| chameleon | 14.6 ms | 14.4 ms | 1.02x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| chaos | 182 ms | 182 ms | 1.00x slower | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| crypto_pyaes | 175 ms | 172 ms | 1.02x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| deltablue | 11.2 ms | 11.2 ms | 1.00x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| django_template | 82.0 ms | 81.4 ms | 1.01x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| dulwich_log | 101 ms | 99.8 ms | 1.01x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| fannkuch | 634 ms | 638 ms | 1.01x slower | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| float | 176 ms | 189 ms | 1.08x slower | Significant (t=-4.30) |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| go | 366 ms | 365 ms | 1.00x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| hexiom | 14.9 ms | 15.1 ms | 1.01x slower | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| json_dumps | 18.7 ms | 18.5 ms | 1.01x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| json_loads | 37.9 us | 37.3 us | 1.02x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| logging_format | 14.2 us | 14.3 us | 1.01x slower | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| logging_silent | 305 ns | 313 ns | 1.02x slower | Significant (t=-3.91) |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| logging_simple | 13.0 us | 13.2 us | 1.01x slower | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| mako | 24.7 ms | 23.3 ms | 1.06x faster | Significant (t=10.74) |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| meteor_contest | 130 ms | 128 ms | 1.01x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| nbody | 201 ms | 201 ms | 1.00x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| nqueens | 152 ms | 154 ms | 1.01x slower | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| pathlib | 26.3 ms | 26.2 ms | 1.01x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| pickle | 13.1 us | 13.7 us | 1.05x slower | Significant (t=-10.36) |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| pickle_dict | 26.6 us | 27.1 us | 1.02x slower | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| pickle_list | 4.34 us | 4.31 us | 1.01x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| pickle_pure_python | 738 us | 759 us | 1.03x slower | Significant (t=-5.26) |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| pidigits | 181 ms | 181 ms | 1.00x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| pyflate | 959 ms | 974 ms | 1.02x slower | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| python_startup | 34.0 ms | 31.4 ms | 1.08x faster | Significant (t=29.75) |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| python_startup_no_site | 15.3 ms | 14.5 ms | 1.06x faster | Significant (t=17.58) |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| raytrace | 849 ms | 846 ms | 1.00x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| regex_compile | 261 ms | 261 ms | 1.00x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| regex_dna | 187 ms | 221 ms | 1.18x slower | Significant (t=-46.94) |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| regex_effbot | 3.66 ms | 3.98 ms | 1.09x slower | Significant (t=-18.55) |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| regex_v8 | 29.7 ms | 29.3 ms | 1.01x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| richards | 113 ms | 110 ms | 1.03x faster | Significant (t=3.47) |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| scimark_fft | 592 ms | 590 ms | 1.00x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| scimark_lu | 253 ms | 265 ms | 1.05x slower | Significant (t=-8.97) |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| scimark_monte_carlo | 170 ms | 177 ms | 1.04x slower | Significant (t=-4.96) |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| scimark_sor | 310 ms | 315 ms | 1.02x slower | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| scimark_sparse_mat_mult | 8.36 ms | 8.33 ms | 1.00x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| spectral_norm | 232 ms | 229 ms | 1.02x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| sqlalchemy_declarative | 185 ms | 183 ms | 1.01x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| sqlalchemy_imperative | 27.4 ms | 27.6 ms | 1.01x slower | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| sqlite_synth | 4.73 us | 4.73 us | 1.00x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| sympy_expand | 813 ms | 819 ms | 1.01x slower | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| sympy_integrate | 31.6 ms | 31.8 ms | 1.01x slower | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| sympy_str | 477 ms | 479 ms | 1.00x slower | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| sympy_sum | 245 ms | 247 ms | 1.01x slower | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| telco | 11.3 ms | 11.4 ms | 1.00x slower | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| tornado_http | 172 ms | 172 ms | 1.00x slower | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| unpack_sequence | 56.2 ns | 51.2 ns | 1.10x faster | Significant (t=2.50) |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| unpickle | 19.8 us | 19.5 us | 1.02x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| unpickle_list | 5.75 us | 5.75 us | 1.00x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| unpickle_pure_python | 524 us | 522 us | 1.01x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| xml_etree_generate | 148 ms | 148 ms | 1.00x slower | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| xml_etree_iterparse | 129 ms | 131 ms | 1.02x slower | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| xml_etree_parse | 179 ms | 177 ms | 1.01x faster | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
| xml_etree_process | 118 ms | 119 ms | 1.00x slower | Not significant |
+-------------------------+--------------------+------------------------+--------------+------------------------+
2021-07-05 12:34:02 -07:00
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
Martin Weinelt
1c5a86776c
Merge pull request #128471 from mweinelt/cpython-venv-permissions
...
cpython: fix permissions on venv activation scripts
2021-06-29 23:01:15 +02:00
Martin Weinelt
bb696403b0
python310: 3.10.0a5 -> 3.10.0b3
2021-06-29 07:27:22 -07:00
Martin Weinelt
7ca18ab93f
python39: 3.9.4 -> 3.9.5
2021-06-29 07:27:22 -07:00
Martin Weinelt
3898eb1897
python38: 3.8.9 -> 3.8.10
2021-06-29 07:27:22 -07:00
Martin Weinelt
4fa69858d9
cpython: fix permissions on venv activation scripts
...
Previously these ended up without u+w permissions which meant they could
not be regenerated, which was hugely annoying when these venvs were for
example created and recreated in a nix-shell.
2021-06-28 03:15:04 +02:00
Jonathan Ringer
48d0ca0c05
update-python-libraries: handle github branches and tags with same name
2021-06-22 13:42:46 +02:00
Martin Weinelt
136f6574a3
python3Packages.fetchPypi: support wheels where dist & python differ
...
This introduces the `dist` argument to the `computeWheelUrl`, that
allows the distribution format in the path to differ from the python
version.
A wheel can be py3 and still have their file below the py2.py3 dist url.
2021-06-22 13:42:45 +02:00
Drew Risinger
30097aeabc
python: pythonRemoveTestsDirHook removes /test
...
Some packages have their tests installed at ./test, not just ./tests.
This covers that use case by removing both.
2021-06-21 16:48:39 -07:00
Mario Rodas
1b2f9c0eaf
python310: fix build on darwin
2021-04-20 04:20:00 +00:00
github-actions[bot]
261638938e
Merge master into staging-next
2021-06-13 00:10:24 +00:00
Matthieu Coudron
baf91ea7d9
pythonPackages: set mainProgram to pname by default
...
Calling `nix run poetry` or another python package usually fails
because of the "pythonX" prefix in name.
Adjust mainProgram to ignore that prefix.
2021-06-12 23:23:35 +02:00
github-actions[bot]
da8d931c82
Merge master into staging-next
2021-06-10 06:07:24 +00:00
AndersonTorres
e9e5f5f84d
Change all alsaLib references to alsa-lib
2021-06-10 01:12:49 -03:00
github-actions[bot]
f2a2e8f5e9
Merge master into staging-next
2021-05-28 12:48:40 +00:00
DavHau
6c0b85cf3a
buildPythonPackage: add support for conda
2021-05-28 14:31:40 +02:00
Jonathan Ringer
b9b9cdb87c
Merge remote-tracking branch 'origin/staging' into staging-next
2021-05-22 19:23:14 -07:00
Jonathan Ringer
11a9ac00fc
Merge remote-tracking branch 'origin/master' into staging-next
...
Conflicts:
pkgs/tools/networking/xh/default.nix
2021-05-22 18:19:10 -07:00
Sandro Jäckel
0197f1dc41
pythonPackages: Add aliases 🎉
2021-05-22 15:02:50 -07:00
Eduardo Sánchez Muñoz
4aee58ec96
pythonPackages.buildPythonPackage: enable verbose output with pyproject
...
This makes the build log more useful
2021-05-19 12:16:15 -07:00