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?