guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/04: gnu: python: Enable optimizations.


From: guix-commits
Subject: 02/04: gnu: python: Enable optimizations.
Date: Thu, 10 Jun 2021 21:00:02 -0400 (EDT)

roptat pushed a commit to branch core-updates
in repository guix.

commit 99d450b085b7bf44d669093f6c9964391ce1b451
Author: Julien Lepiller <julien@lepiller.eu>
AuthorDate: Thu Mar 18 23:41:40 2021 +0100

    gnu: python: Enable optimizations.
    
    As a result, python execution time of scripts is decreased by 6 to 40%.
    
    gnu/packages/python (python-2.7)[arguments]: Add configure and make flags to
    optimize the resulting python.
---
 gnu/packages/python.scm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 9e29733..ca15147 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -184,7 +184,10 @@
              "--with-system-expat"      ;for XML support
              "--with-system-ffi"        ;build ctypes
              "--with-ensurepip=install" ;install pip and setuptools
+             "--with-computed-gotos"    ;main interpreter loop optimization
+             "--with-lto"               ;increase size by 20MB, but 15% speedup
              "--enable-unicode=ucs4"
+             "--enable-optimizations"
 
              ;; Prevent the installed _sysconfigdata.py from retaining a 
reference
              ;; to coreutils.
@@ -198,8 +201,13 @@
                      "ac_cv_file__dev_ptmx=no"
                      "ac_cv_file__dev_ptc=no")
                    '())
+             ;; -fno-semantic-interposition reinstates some optimizations by 
gcc
+             ;; leading to around 15% speedup. This is the default starting 
from
+             ;; python 3.10.
+             "CFLAGS=-fno-semantic-interposition"
              (string-append "LDFLAGS=-Wl,-rpath="
-                            (assoc-ref %outputs "out") "/lib"))
+                            (assoc-ref %outputs "out") "/lib"
+                            " -fno-semantic-interposition"))
        ;; With no -j argument tests use all available cpus, so provide one.
        #:make-flags
        (list (string-append



reply via email to

[Prev in Thread] Current Thread [Next in Thread]