ptitSeb / box64

Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64 Linux devices
https://box86.org
MIT License
3.73k stars 267 forks source link

[LA64_DYNAREC] Added more opcodes #1425

Closed ksco closed 5 months ago

ksco commented 5 months ago

That's all for 7z b, benchmark results on the way.

ksco commented 5 months ago

EDIT: Made some mistakes on disabling call/ret optimizations on the first round, updated the numbers.

Now we've implemented all the opcodes to run 7z b 100% in DynaRec, time for a benchmark, here is the result:

Basic info:

Hardware: Loongson 3A6000
7Zip version (both x86_64 and LoongArch64): 17.04

7z b performance

I'm using Rating MIPS column as the measurement

                       Compressing  |                  Decompressing
Dict     Speed Usage    R/U Rating  |      Speed Usage    R/U Rating
         KiB/s     %   MIPS   MIPS  |      KiB/s     %   MIPS   MIPS

Native

Compressing:    21583
Decompressing:  20071
Total:          20827

Baseline (latx 1.4.4-beta2)

Compressing:    7892
Decompressing:  11829
Total:          9861

Box64 (w/ LBT extension w/ CALLRET optimization)

Compressing:    11909
Decompressing:  13210
Total:          12559

Box64 (w/ LBT extension w/o CALLRET optimization)

Compressing:    9848
Decompressing:  11721
Total:          10785

Box64 (w/o LBT extension w/ CALLRET optimization)

Compressing:    9197
Decompressing:  8367
Total:          8782

Box64 (w/o LBT extension w/o CALLRET optimization)

Compressing:    8285
Decompressing:  7714
Total:          8000

cc @ptitSeb @xctan @factfinding

factfinding commented 5 months ago

Wow, perfect work! The box64 works even better than latx!