IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#i2p-dev
/2022/06/23
zlatinb I got the Mac easy-install bundle built natively on Apple Silicon :)
zlatinb without jbigi
zlatinb zzz: any ideas on how to benchmark i2p on mac-arm64?
zlatinb how and what to benchmark, I'm generally uneasy with jbigi until they change their assembly
zzz you could start with general CPU usage for similar traffic
zzz as for a real benchmark, you could try the sign/verify test, let me find it
zzz java -jar i2p.jar keygenerator
zzz that doesn't use jbigi
zzz the jbigi test is java -jar i2p.jar nativebiginteger
zzz that compare java to native, and will test java only if native not available
zlatinb ok, as a baseline this is keygenerator on my iMac which is the last such with intel chips pastebin.com/1KuDNb8h
zlatinb this is keygenerator with JDK for arm64: pastebin.com/Trn2AzRY
zzz for building jbigi, see core/c/README. You'll need to change 6.2.0 to 6.2.1 in core/c/jbigi/download_gmp.sh
zlatinb oh the last paste was with the laptop unplugged - repeating with connected to power supply
zzz I think the comparison we want is x86 java on your m1 vs arm64 java on your m1
zlatinb yes, downloading the x86 jdk now
zlatinb but just to eliminate throttling here's the paste with arm64 java plugged in pastebin.com/J4UDnKtB
zzz ok. on those tests fyi, the first batch is warmup for the JIT, so the real results to look at are at the bottom
zzz the m1 looks modestly faster than the x86, maybe 20%
zlatinb problem - I can't launch x86 java because of how rosetta works
zlatinb let me try nativebiginteger
zlatinb "how rosetta works" means the binary has to be pakcaged as an application for it to be runnable with rosetta
zlatinb can't just point to a raw binary and expect it to work
zzz I think in the old days on Android I'd just hack in some test somewhere in the router startup
zlatinb here is nativebiginteger with jbigi on the M1: pastebin.com/6aj04brJ
zzz oooh you built it? nice
zlatinb yeah with a little negotiation the build script worked
zzz expected that negotiation would be required, didn't expect you'd do it in 10 minutes...
zlatinb actually, why don't I time a clean build...
zlatinb this is static gmp btw
zlatinb Blinded message
zzz note that if we decide we don't need jbigi, we'd want to special-case it in SystemVersion.isSlow()
zzz and if we decide we do want it, then I think you did signing of the libs? and the quad-fat hex-fat packaging
zzz might be a good time to rip out the ppc libs if they are still in there
zlatinb let's see how fast i2pd builds...
zzz you can't see them in the filesystem, the jnilib format supports multiple architectures
zzz file *.jnilib
zzz the none (32 bit) is ppc
zzz and x86
zzz we can probably stop shipping that
zzz and the cpuid has both 64 and 32 bit
zzz all the others are one arch only
zzz interesting. my memory was wrong. tuna last updated the osx libs for 6.0.0 in 2016. you've never built or signed them
zzz it was the windows dlls that you signed in 2020
zzz I'm going to remove the 32-bit osx libs, ok?
zlatinb ok with me
zlatinb i2pd built in 28 seconds after significant negotiation
SilicaRice how well does i2p scale to publishing 10k's of destinations?