From 47bf2d1df496f006e6328dabcacd7741ad631dc3 Mon Sep 17 00:00:00 2001 From: Xpl0itU <24777100+Xpl0itU@users.noreply.github.com> Date: Thu, 7 Sep 2023 16:05:19 +0200 Subject: [PATCH] Optimizations --- .github/workflows/linux.yml | 2 +- .github/workflows/macos.yml | 2 +- .github/workflows/windows.yml | 2 +- Dockerfile.linux | 10 ++++++++-- default.pgo | Bin 0 -> 8031 bytes grabTitles.py | 10 +++++----- 6 files changed, 16 insertions(+), 10 deletions(-) create mode 100644 default.pgo diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index ad60c78..7e24a5f 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -21,7 +21,7 @@ jobs: - name: Build artifacts run: | docker run --rm -v ${PWD}:/project builder python3 grabTitles.py - docker run --rm -v ${PWD}:/project builder go build cmd/WiiUDownloader/main.go cmd/WiiUDownloader/darkMode.go cmd/WiiUDownloader/mainwindow.go cmd/WiiUDownloader/progressWindow.go cmd/WiiUDownloader/utils.go + docker run --rm -v ${PWD}:/project builder go build -pgo=auto cmd/WiiUDownloader/main.go cmd/WiiUDownloader/darkMode.go cmd/WiiUDownloader/mainwindow.go cmd/WiiUDownloader/progressWindow.go cmd/WiiUDownloader/utils.go - name: Deploy WiiUDownloader run: | mv main WiiUDownloader diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index dbc36ba..0ba2e0e 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -21,7 +21,7 @@ jobs: - name: Build run: | python3 grabTitles.py - go build cmd/WiiUDownloader/main.go cmd/WiiUDownloader/darkMode.go cmd/WiiUDownloader/mainwindow.go cmd/WiiUDownloader/progressWindow.go cmd/WiiUDownloader/utils.go + go build -pgo=auto cmd/WiiUDownloader/main.go cmd/WiiUDownloader/darkMode.go cmd/WiiUDownloader/mainwindow.go cmd/WiiUDownloader/progressWindow.go cmd/WiiUDownloader/utils.go - name: Package run: | python3 data/create_bundle.py diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 46c6812..115b3aa 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -29,7 +29,7 @@ jobs: - name: Build run: | python3 grabTitles.py - go build -ldflags -H=windowsgui cmd/WiiUDownloader/main.go cmd/WiiUDownloader/darkMode.go cmd/WiiUDownloader/mainwindow.go cmd/WiiUDownloader/progressWindow.go cmd/WiiUDownloader/utils.go + go build -pgo=auto -ldflags -H=windowsgui cmd/WiiUDownloader/main.go cmd/WiiUDownloader/darkMode.go cmd/WiiUDownloader/mainwindow.go cmd/WiiUDownloader/progressWindow.go cmd/WiiUDownloader/utils.go - name: Deploy WiiUDownloader run: | mkdir dist diff --git a/Dockerfile.linux b/Dockerfile.linux index 1d6dbf9..137b070 100644 --- a/Dockerfile.linux +++ b/Dockerfile.linux @@ -1,6 +1,9 @@ FROM ubuntu:22.04 -ARG DEBIAN_FRONTEND=noninteractive +ENV DEBIAN_FRONTEND=noninteractive \ + GOROOT=/usr/local/go \ + GOPATH=$HOME/go \ + PATH=$GOPATH/bin:$GOROOT/bin:$PATH RUN mkdir -p /usr/share/man/man1 /usr/share/man/man2 && \ apt -y --no-install-recommends update && \ @@ -12,7 +15,10 @@ RUN mkdir -p /usr/share/man/man1 /usr/share/man/man2 && \ RUN apt-fast -y --no-install-recommends update && \ apt-fast -y --no-install-recommends upgrade && \ - apt-fast install -y --no-install-recommends build-essential libgcrypt20-dev libgtk-3-dev libfuse2 libtool librsvg2-dev golang-go && \ + apt-fast install -y --no-install-recommends build-essential libgcrypt20-dev libgtk-3-dev libfuse2 libtool librsvg2-dev && \ + wget https://go.dev/dl/go1.21.1.linux-amd64.tar.gz && \ + tar -xvf go1.21.1.linux-amd64.tar.gz && \ + mv go /usr/local && \ LINUXDEPLOY="/usr/bin/linuxdeploy.AppImage" && \ LINUXDEPLOY_PLUGIN_GTK="/usr/bin/linuxdeploy-plugin-gtk.sh" && \ LINUXDEPLOY_PLUGIN_CHECKRT="/usr/bin/linuxdeploy-plugin-checkrt.sh" && \ diff --git a/default.pgo b/default.pgo new file mode 100644 index 0000000000000000000000000000000000000000..a219e297cb4b91b6fab2eff89dd67f05ab7b503a GIT binary patch literal 8031 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 literal 0 HcmV?d00001 diff --git a/grabTitles.py b/grabTitles.py index 3f5a8af..a39aff7 100644 --- a/grabTitles.py +++ b/grabTitles.py @@ -22,13 +22,13 @@ urllib.request.install_opener(opener) checkAndDeleteFile("gtitles/gtitles.c") urllib.request.urlretrieve("https://napi.nbg01.v10lator.de/db", "gtitles/gtitles.c") -os.system("gcc -c -Wall -fpic -Igtitles -o gtitles/gtitles.o gtitles/gtitles.c") +os.system("gcc -c -Wall -fpic -Ofast -flto=auto -pipe -Igtitles -o gtitles/gtitles.o gtitles/gtitles.c") os.system("ar rcs libgtitles.a gtitles/gtitles.o") os.system("gcc -shared -o gtitles/libgtitles.so gtitles/gtitles.o") -os.system("gcc -c -Wall -fpic -O2 -UNDEBUG -DAES_ROM_TABLES -D_GNU_SOURCE -Icdecrypt -o cdecrypt/aes.o cdecrypt/aes.c") -os.system("gcc -c -Wall -fpic -O2 -UNDEBUG -DAES_ROM_TABLES -D_GNU_SOURCE -Icdecrypt -o cdecrypt/cdecrypt.o cdecrypt/cdecrypt.c") -os.system("gcc -c -Wall -fpic -O2 -UNDEBUG -DAES_ROM_TABLES -D_GNU_SOURCE -Icdecrypt -o cdecrypt/sha1.o cdecrypt/sha1.c") -os.system("gcc -c -Wall -fpic -O2 -UNDEBUG -DAES_ROM_TABLES -D_GNU_SOURCE -Icdecrypt -o cdecrypt/util.o cdecrypt/util.c") +os.system("gcc -c -Wall -fpic -Ofast -flto=auto -pipe -UNDEBUG -DAES_ROM_TABLES -D_GNU_SOURCE -Icdecrypt -o cdecrypt/aes.o cdecrypt/aes.c") +os.system("gcc -c -Wall -fpic -Ofast -flto=auto -pipe -UNDEBUG -DAES_ROM_TABLES -D_GNU_SOURCE -Icdecrypt -o cdecrypt/cdecrypt.o cdecrypt/cdecrypt.c") +os.system("gcc -c -Wall -fpic -Ofast -flto=auto -pipe -UNDEBUG -DAES_ROM_TABLES -D_GNU_SOURCE -Icdecrypt -o cdecrypt/sha1.o cdecrypt/sha1.c") +os.system("gcc -c -Wall -fpic -Ofast -flto=auto -pipe -UNDEBUG -DAES_ROM_TABLES -D_GNU_SOURCE -Icdecrypt -o cdecrypt/util.o cdecrypt/util.c") os.system("ar rcs libcdecrypt.a cdecrypt/*.o") os.system("gcc -shared -o cdecrypt/libcdecrypt.so cdecrypt/*.o")