Enable asm for OpenSSL
Denis Kovalchuk via TortoiseSVN-dev <[email protected]> Mon, 29 May 2023 07:39:28 -0700 (PDT)
| Newsgroups | gmane.comp.version-control.subversion.tortoisesvn.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi! I am wondering if there are any reasons to build OpenSSL with the '-no-asm' [1][2] option? Below are the results of synthetic benchmarks for Subversion, depending on whether OpenSSL is built with or without asm support: 1) OpenSSL is built with the ‘-no-asm’ option. svnbench null-export https://localhost/svn/iso/~7GB.iso 0 directories 1 files 7,395,016,704 bytes in files 0 properties 0 bytes in properties 50.812102 seconds taken 7,404,963,366 bytes transferred over network 2) OpenSSL is built without the ‘-no-asm’ option. svnbench null-export https://localhost/svn/iso/~7GB.iso 0 directories 1 files 7,395,016,704 bytes in files 0 properties 0 bytes in properties 17.406729 seconds taken 7,404,963,353 bytes transferred over network This ~3x improvement is well observed when dealing with localhost, where the network bandwidth is high enough. So I would like to suggest enabling asm support for OpenSSL, unless of course there is a reason to build OpenSSL with the '--no-asm' option. Note that this change requires NASM [3] to build TortoiseSVN. [1] https://github.com/stefankueng/TortoiseSVN/blob/cb7495c3ef52b5e86f5c2a41173df44ea20f7841/ext/build/OpenSSL.build#L55 [2] https://wiki.openssl.org/index.php/Compilation_and_Installation#Configure_Options [3] https://www.nasm.us Best Regards, Denis Kovalchuk -- You received this message because you are subscribed to the Google Groups "TortoiseSVN-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/tortoisesvn-dev/71b09d6c-3fda-4985-b974-0118a295f730n%40googlegroups.com.
enable-asm-for-OpenSSL.patch.txt
(text/plain, 1.6 KB)
Enable asm for OpenSSL
The result of a synthetic benchmark for Subversion, depending on
whether OpenSSL is built with or without asm support:
svnbench null-export https://localhost/svn/iso/~7GB.iso
1) OpenSSL is built with the '-no-asm' option:
50.812102 seconds taken
2) OpenSSL is built without the '-no-asm' option:
17.406729 seconds taken
This ~3x improvement is well observed when dealing with localhost, where the
network bandwidth is high enough.
build.txt:
Add NASM to the requirements section.
ext/build/OpenSSL.build:
Remove the '--no-asm' option.
Index: build.txt
===================================================================
--- build.txt (revision 29549)
+++ build.txt (working copy)
@@ -33,6 +33,7 @@
https://www.activestate.com/products/perl/
- WiX 3.10(\b 1) http://wixtoolset.org/
- NAnt 0.92(\b 1) http://nant.sourceforge.net
+- NASM(\b 1 \b 2) https://www.nasm.us
(\b 1) Add the paths of the binaries to the PATH environment variable. You may have to
logoff/logon to make the new environment variables take effect!
Index: ext/build/OpenSSL.build
===================================================================
--- ext/build/OpenSSL.build (revision 29549)
+++ ext/build/OpenSSL.build (working copy)
@@ -52,7 +52,6 @@
<exec program="perl" workingdir="${targetDir}">
<arg value="..\Configure" />
<arg value="${targetName}" />
- <arg value="no-asm" />
<arg value="no-gost" />
<arg value="no-shared" />
<arg value="no-autoload-config" />