From 8c0115cceed2bcfd7cae94163a4711ec7ce93379 Mon Sep 17 00:00:00 2001 From: Akinwale Ariwodola Date: Sun, 22 Aug 2021 10:24:14 +0100 Subject: [PATCH] experiment with Python optimisations --- scripts/build-target-python.sh | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/scripts/build-target-python.sh b/scripts/build-target-python.sh index c91ba47..ab3b04b 100755 --- a/scripts/build-target-python.sh +++ b/scripts/build-target-python.sh @@ -276,6 +276,9 @@ build_python_for_abi () armeabi-v7a-hard) CFLAGS="-march=armv7-a -mfpu=vfpv3-d16 -mhard-float" ;; + arm64-v8a) + CFLAGS="-march=armv8-a" + ;; *) CFLAGS="" esac @@ -285,7 +288,7 @@ build_python_for_abi () CFLAGS="$CFLAGS -mthumb" esac - local CFLAGS="$CFLAGS --sysroot=$NDK_DIR/platforms/android-$APILEVEL/arch-$ARCH" + local CFLAGS="$CFLAGS -O3 -pipe --sysroot=$NDK_DIR/platforms/android-$APILEVEL/arch-$ARCH" local LDFLAGS="" if [ "$ABI" = "armeabi-v7a-hard" ]; then @@ -306,11 +309,12 @@ build_python_for_abi () local CONFIG_SITE=$BUILDDIR_CONFIG/config.site { - echo 'ac_cv_file__dev_ptmx=no' + echo 'ac_cv_file__dev_ptmx=yes' echo 'ac_cv_file__dev_ptc=no' echo 'ac_cv_func_gethostbyname_r=no' if [ "$PYTHON_MAJOR_VERSION" == "3" ]; then echo 'ac_cv_func_faccessat=no' + echo 'ac_cv_little_endian_double=yes' fi } >$CONFIG_SITE fail_panic "Can't create config.site wrapper" @@ -346,15 +350,17 @@ build_python_for_abi () echo " --host=$HOST \\" echo " --build=$BUILD_ON_PLATFORM \\" echo " --prefix=$BUILDDIR_CONFIG/install \\" + echo " --exec-prefix=/usr/local \\" + echo " --enable-loadable-sqlite-extensions \\" echo " --enable-shared \\" - echo " --with-threads \\" echo " --enable-ipv6 \\" + echo " --enable-optimizations \\" echo " --with-computed-gotos \\" + echo " --with-lto \\" + echo " --without-ensurepip \\" echo " ac_cv_file__dev_ptmx=yes \\" echo " ac_cv_file__dev_ptc=no \\" - echo " --without-ensurepip \\" - echo " ac_cv_little_endian_double=yes \\" - echo " --exec-prefix=/usr/local" + echo " ac_cv_little_endian_double=yes" fi } >$CONFIGURE_WRAPPER fail_panic "Can't create configure wrapper" @@ -648,6 +654,7 @@ build_python_for_abi () echo 'include $(CLEAR_VARS)' echo 'LOCAL_MODULE := _queue' echo "MY_PYTHON_SRC_ROOT := $PYTHON_SRCDIR" + echo 'LOCAL_CFLAGS := -DPy_BUILD_CORE' echo 'LOCAL_SRC_FILES := \' echo ' $(MY_PYTHON_SRC_ROOT)/Modules/_queuemodule.c' echo 'LOCAL_C_INCLUDES := $(MY_PYTHON_SRC_ROOT)/Include/internal' @@ -951,6 +958,7 @@ build_python_for_abi () echo 'LOCAL_MODULE := unicodedata' echo 'LOCAL_CFLAGS := -DPy_BUILD_CORE' echo "MY_PYTHON_SRC_ROOT := $PYTHON_SRCDIR" + echo 'LOCAL_C_INCLUDES := $(MY_PYTHON_SRC_ROOT)/Include/internal' echo 'LOCAL_SRC_FILES := \' echo ' $(MY_PYTHON_SRC_ROOT)/Modules/unicodedata.c' echo 'LOCAL_STATIC_LIBRARIES := python_shared' @@ -965,7 +973,7 @@ build_python_for_abi () log "Install python$PYTHON_ABI-$ABI module 'unicodedata' in $PYBIN_INSTALLDIR_MODULES" run cp -p -T $OBJDIR_UNICODEDATA/libunicodedata.so $PYBIN_INSTALLDIR_MODULES/unicodedata.so fail_panic "Can't install python$PYTHON_ABI-$ABI module 'unicodedata' in $PYBIN_INSTALLDIR_MODULES" - + # _json speedups local BUILDDIR_JSON="$BUILDDIR/json" local OBJDIR_JSON="$BUILDDIR_JSON/obj/local/$ABI" @@ -994,7 +1002,7 @@ build_python_for_abi () log "Install python$PYTHON_ABI-$ABI module '_json' in $PYBIN_INSTALLDIR_MODULES" run cp -p -T $OBJDIR_JSON/lib_json.so $PYBIN_INSTALLDIR_MODULES/_json.so fail_panic "Can't install python$PYTHON_ABI-$ABI module '_json' in $PYBIN_INSTALLDIR_MODULES" - + # _pickle accelerator local BUILDDIR_PICKLE="$BUILDDIR/pickle" local OBJDIR_PICKLE="$BUILDDIR_PICKLE/obj/local/$ABI" @@ -1087,4 +1095,4 @@ else log "Don't forget to cleanup: $BUILD_DIR" fi -log "Done!" +log "Done!" \ No newline at end of file