From 766728922496116d32b15e69583a3d4cddfb131f Mon Sep 17 00:00:00 2001 From: Alex Henrie Date: Tue, 7 Jan 2025 00:30:26 -0700 Subject: [PATCH] misc: don't initialize the Wine prefix before every single verb This reduces the run time of `winetricks allfonts` on Wine 9.22 on my Intel i7-1360P laptop from 5 minutes 19 seconds to 3 minutes 34 seconds, a 33% decrease. --- src/winetricks | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/winetricks b/src/winetricks index 3f3014a1d..de21cb93e 100755 --- a/src/winetricks +++ b/src/winetricks @@ -4361,11 +4361,17 @@ winetricks_set_wineprefix() # Note: these are arch independent, but are needed by some arch dependent variables # Defining here to avoid having two arch checks: if ! test "$1"; then - WINEPREFIX="${WINETRICKS_ORIGINAL_WINEPREFIX}" + NEW_WINEPREFIX="${WINETRICKS_ORIGINAL_WINEPREFIX}" else - WINEPREFIX="${W_PREFIXES_ROOT}/$1" + NEW_WINEPREFIX="${W_PREFIXES_ROOT}/$1" fi + if test "${WINEPREFIX}" = "${NEW_WINEPREFIX}"; then + # A previous verb already set the prefix + return + fi + + WINEPREFIX="${NEW_WINEPREFIX}" export WINEPREFIX w_try_mkdir "$(dirname "${WINEPREFIX}")"