Commit Graph

218952 Commits

Author SHA1 Message Date
Greg Price
f8a8243bd3 cpython: Use --enable-optimizations, for a 16% speedup.
Without this flag, the configure script prints a warning at the end,
like this (reformatted):

  If you want a release build with all stable optimizations active
  (PGO, etc), please run ./configure --enable-optimizations

We're doing a build to distribute to people for day-to-day use,
doing things other than developing the Python interpreter.  So
that's certainly a release build -- we're the target audience for
this recommendation.

---

And, trying it out, upstream isn't kidding!  I ran the standard
benchmark suite that the CPython developers use for performance
work, "pyperformance".  Following its usage instructions:
  https://pyperformance.readthedocs.io/usage.html
I ran the whole suite, like so:

  $ nix-shell -p ./result."$variant" --run '
      cd $(mktemp -d); python -m venv venv; . venv/bin/activate
      pip install pyperformance
      pyperformance run -o ~/tmp/result.'"$variant"'.json
    '

and then examined the results with commands like:

  $ python -m pyperf compare_to --table -G \
      ~/tmp/result.{$before,$after}.json

Across all the benchmarks in the suite, the median speedup was 16%.
(Meaning 1.16x faster; 14% less time).

The middle half of them ranged from a 13% to a 22% speedup.

Each of the 60 benchmarks in the suite got faster, by speedups
ranging from 3% to 53%.

---

One reason this isn't just the default to begin with is that, until
recently, it made the build a lot slower.  What it does is turn on
profile-guided optimization, which means first build for profiling,
then run some task to get a profile, then build again using the
profile.  And, short of further customization, the task it would use
would be nearly the full test suite, which includes a lot of
expensive and slow tests, and can easily take half an hour to run.

Happily, in 2019 an upstream developer did the work to carefully
select a more appropriate set of tests to use for the profile:
  https://github.com/python/cpython/commit/4e16a4a31
  https://bugs.python.org/issue36044
This suite takes just 2 minutes to run.  And the resulting final
build is actually slightly faster than with the much longer suite,
at least as measured by those standard "pyperformance" benchmarks.
That work went into the 3.8 release, but the same list works great
if used on older releases too.

So, start passing that --enable-optimizations flag; and backport
that good-for-PGO set of tests, so that we use it on all releases.
2020-05-11 23:37:04 -07:00
Greg Price
9d8831c8fe cpython: Drop unrecognized --with-threads configure flag.
The ./configure script prints a warning when passed this flag,
starting with 3.7:

  configure: WARNING: unrecognized options: --with-threads

The reason is that there's no longer such a thing as a build
without threads.

Eliminate the warning, by only passing the flag on the older releases
that accept it.

Upstream change and discussion:
  https://github.com/python/cpython/commit/a6a4dc816
  https://bugs.python.org/issue31370
2020-03-30 22:56:48 -07:00
Cole Mickens
1992768157 nixos/azure: clarify how users work in basic example 2020-03-29 13:56:55 -07:00
Cole Mickens
627ae7e057 nixos/azure: upload-image.sh cleanup $1 handling 2020-03-29 13:56:55 -07:00
Cole Mickens
a5de97f21e nixos/azure: upload-image names the image better 2020-03-29 13:56:55 -07:00
Cole Mickens
c2b2cc6dbd nixos/azure: simplify example image 2020-03-29 13:56:55 -07:00
Cole Mickens
20f981de08 azure: init nixos/maintainers/scripts/azure-new 2020-03-29 13:56:55 -07:00
Cole Mickens
a5a6d77508 azure: boot.growPartition = true 2020-03-29 13:56:55 -07:00
Cole Mickens
f37aa7dd69 nixos/azure: add diskSize module option 2020-03-29 13:56:55 -07:00
Tim Steinbach
c76bad0ec0
linux: 5.6-rc5 -> 5.6-rc7 2020-03-29 16:50:02 -04:00
Maximilian Bosch
d25b558038
Merge pull request #83653 from nlewo/nextcloud-firstrunwizard
nixos/nextcloud: add bcmap, mp4 and webm in nginx configuration
2020-03-29 22:07:02 +02:00
Maximilian Bosch
f178f960b4
Merge pull request #83633 from zarelit/fix_literalExample
network-interfaces: fix literalExample arguments
2020-03-29 22:04:01 +02:00
Michael Raskin
8cd343edf8
Merge pull request #83706 from 7c6f434c/pingus-fix
pingus: 0.7.6 -> unstable; fixes build conflicts with dependency updates
2020-03-29 20:03:49 +00:00
Ryan Mulligan
9d21fe813f
Merge pull request #83648 from r-ryantm/auto-update/pdfsam-basic
pdfsam-basic: 4.1.1 -> 4.1.2
2020-03-29 12:58:31 -07:00
Ryan Mulligan
438e719628
Merge pull request #83032 from r-ryantm/auto-update/cockatrice
cockatrice: 2019-08-31-Release-2.7.2 -> 2020-03-20-Release-2.7.4
2020-03-29 12:57:21 -07:00
Michael Raskin
35a2f790f6 pingus: 0.7.6 -> unstable; fixes build conflicts with dependency updates 2020-03-29 21:38:05 +02:00
Florian Klink
0856220810
Merge pull request #83662 from r-ryantm/auto-update/utf8proc
utf8proc: 2.4.0 -> 2.5.0
2020-03-29 21:15:01 +02:00
Florian Klink
855a12eacf Revert "make-tarball.nix: Restore the 'commit' field in packages.json"
This reverts commit 5e8545e723.

It breaks eval:

attribute 'rev' missing, at /var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/mr-est/eval-0-gleber.ewr1.nix.ci/pkgs/top-level/make-tarball.nix:106:39
2020-03-29 20:57:50 +02:00
Florian Klink
f4f8921f97
nixos/gerrit: stop setting jvmPackage (#83696)
jdk12_headless disappeared in d00559ebb8,
and just using the default in the VM test should be fine IMHO.
2020-03-29 18:50:19 +00:00
Benjamin Hipple
21dbe88670
Merge pull request #83681 from Atemu/cherrytree-0.39.1
cherrytree: 0.39.0 -> 0.39.1
2020-03-29 14:31:14 -04:00
Florian Klink
5f0ba381ae
Merge pull request #83285 from hax404/teeworlds
teeworlds: python2 -> python3; add menu item
2020-03-29 20:30:58 +02:00
Andreas Rammhold
0d5fc5bf42
Merge pull request #83691 from mweinelt/pr/weechat/v2.8
weechat: v2.7.1 → v2.8
2020-03-29 20:30:21 +02:00
Eelco Dolstra
5e8545e723
make-tarball.nix: Restore the 'commit' field in packages.json
Also change incorrect 'revision' to 'rev' in the default value for
'nixpkgs' in release.nix.

Fixes https://github.com/NixOS/nixos-homepage/issues/372.
2020-03-29 20:16:07 +02:00
Michael Weiss
0dd5ccc742
mesos,swiften,pingus: Mark as broken
Those packages are broken for >4 months, which is why it seems best to
mark them as broken for now. I noticed these while testing #75877.
2020-03-29 20:06:41 +02:00
Eelco Dolstra
4e554ad1bc
make-tarball.nix: Strip source directory from packages.json
https://github.com/NixOS/nixos-homepage/issues/372
2020-03-29 20:02:44 +02:00
Tobias Mayer
56ec5a2577 pythonPackages.pyarrow: fix test 2020-03-29 10:43:42 -07:00
Florian Klink
01365622ad
Merge pull request #83660 from Emantor/fix/system-duplicate-line
nixos/systemd: remove one DefaultBlockIOAccounting
2020-03-29 19:42:28 +02:00
Florian Klink
ae3928997c
Merge pull request #82807 from mehlon/tor-browser
tor-browser-bundle-bin: enable multimedia support by default
2020-03-29 19:41:40 +02:00
worldofpeace
944ff7c9e2
Merge pull request #83684 from romildo/fix.xfce4-hardware-monitor-plugin
xfce.xfce4-hardware-monitor-plugin: fix url (unmaintained)
2020-03-29 13:08:04 -04:00
worldofpeace
c50ab4d7bb
Merge pull request #83679 from romildo/upd.xfce4-whiskermenu-plugin
xfce.xfce4-whiskermenu-plugin: 2.3.3 -> 2.4.3
2020-03-29 13:07:45 -04:00
worldofpeace
a4a0e4e047
Merge pull request #83690 from r-ryantm/auto-update/drawing
drawing: 0.4.11 -> 0.4.13
2020-03-29 13:01:58 -04:00
worldofpeace
bedf13071b
Merge pull request #83637 from romildo/desktopManager.desktopNames
nixos.display-manager: set DesktopNames from a new attribute
2020-03-29 12:58:08 -04:00
Jan Tojnar
22ada10aed
Merge pull request #82509 from Izorkin/samba4
samba: build with profiling enabled
2020-03-29 18:30:41 +02:00
Florian Klink
50b48ddd95
Merge pull request #83598 from mmilata/test-driver-delete-vdectl
test-driver.py: don't leave vde1.ctl around
2020-03-29 18:19:53 +02:00
Maximilian Bosch
9e7c54325e
stellarium: 0.19.3 -> 0.20.0
https://github.com/Stellarium/stellarium/releases/tag/v0.20.0
2020-03-29 17:56:35 +02:00
Ryan Mulligan
98bc4867fa
Merge pull request #83652 from r-ryantm/auto-update/qmapshack
qmapshack: 1.14.0 -> 1.14.1
2020-03-29 07:21:36 -07:00
R. RyanTM
7d19703e5e drawing: 0.4.11 -> 0.4.13 2020-03-29 14:13:04 +00:00
Martin Weinelt
f83d12d554
weechat: v2.7.1 → v2.8
New features

    core: add variable "old_full_name" in buffer, set during buffer renaming (issue weechat/weechat#1428)
    core: add debug option "-d" in command /eval (issue weechat/weechat#1434)
    api: add functions crypto_hash and crypto_hash_pbkdf2
    api: add info "auto_connect" (issue weechat/weechat#1453)
    api: add info "weechat_headless" (issue weechat/weechat#1433)
    buflist: add pointer "window" in bar item evaluation
    irc: add support of fake servers (no I/O, for testing purposes)
    relay: accept hash of password in init command of weechat protocol with option "password_hash" (PBKDF2, SHA256, SHA512)
    relay: reject client with weechat protocol if password or totp is received in init command but not set in WeeChat (issue weechat/weechat#1435)

Bug fixes

    core: fix memory leak in completion
    core: flush stdout/stderr before forking in hook_process function (issue weechat/weechat#1441)
    core: fix evaluation of condition with nested "if" (issue weechat/weechat#1434)
    irc: split AUTHENTICATE message in 400-byte chunks (issue weechat/weechat#1459)
    irc: copy temporary server flag in command /server copy
    irc: add nick changes in the hotlist (except self nick change)
    irc: case-insensitive comparison on incoming CTCP command, force upper case on CTCP replies (issue weechat/weechat#1439)
    irc: fix memory leak when the channel topic is changed
    logger: fix crash when logging is disabled on a buffer and the log file was deleted in the meanwhile, when option logger.file.info_lines is on (issue weechat/weechat#1444)
    php: fix crash when loading script with PHP 7.4 (issue weechat/weechat#1452)
    relay: update buffers synchronization when buffers are renamed (issue weechat/weechat#1428)
    script: fix memory leak in read of script repository file if it has invalid content
    script: fix unexpected display of scripts list in buffer with command /script list -i
    xfer: send signal "xfer_ended" after the received file has been renamed (issue weechat/weechat#1438)

Tests

    scripts: fix generation of test scripts with Python 3.8
    unit: add tests on IRC protocol functions and callbacks
    unit: add tests on function secure_derive_key
    unit: add tests on functions util_get_time_diff and util_file_get_content

Build

    core: fix Cygwin build
    guile: add detection of Guile 3.0.0 (issue weechat/weechat#1442)
    irc: fix build with GnuTLS < 3.1.0 (issue weechat/weechat#1431)
    php: add detection of PHP 7.4
    ruby: add detection of Ruby 2.7 (issue weechat/weechat#1455)
2020-03-29 16:04:28 +02:00
Jörg Thalheim
ac45e96d2f
Merge pull request #83220 from dasj19/linux-libre-fix
linux-libre: added --force flag for deblobbing.
2020-03-29 15:03:22 +01:00
Jörg Thalheim
e96e6b84a1
Merge pull request #83686 from herrwiese/for-master/matrix-dl-fix-license
matrix-dl: fix license
2020-03-29 14:54:37 +01:00
Andreas Wiese
58a69bc9e3 matrix-dl: fix license
I initially looked at the wrong places for this, where it's actually
stated in setup.py.  I'm not quite a python guy.
2020-03-29 15:29:18 +02:00
Jörg Thalheim
62aa36720c
Merge pull request #76420 from babariviere/flutter-init
flutter: init 1.12.13+hotfix.8
2020-03-29 14:21:40 +01:00
José Romildo Malaquias
0dc23eaf61 xfce.xfce4-hardware-monitor-plugin: fix url (unmaintained) 2020-03-29 10:11:12 -03:00
Jörg Thalheim
d04396da8b
Merge pull request #82852 from Mic92/cross-build-rust-package
[WIP] buildRustPackage: enable strictDeps
2020-03-29 14:07:07 +01:00
Atemu
e18f1429be cherrytree: 0.39.0 -> 0.39.1 2020-03-29 14:57:44 +02:00
Konrad Borowski
cfb435732a pythonPackages.ftputil: fix build
Some tests assume execution before 2020.
2020-03-29 14:39:48 +02:00
Guanpeng Xu
d2702c915f mathematica: 12.0.0 -> 12.1.0 2020-03-29 14:38:33 +02:00
José Romildo Malaquias
459a94ffa7 xfce.xfce4-whiskermenu-plugin: 2.3.3 -> 2.4.3 2020-03-29 09:38:24 -03:00
R. RyanTM
439f083931 bindfs: 1.14.3 -> 1.14.4 2020-03-29 14:37:56 +02:00
Bastien Rivière
4e0d07f6d7
flutter: symlink common patches 2020-03-29 14:25:16 +02:00