@EclipsesDev (by mumy)
The test results show a performance difference of less than 1% compared to b98, and the remapper is working correctly.
(legacy b100 git-99f4b13)
CookieChinese
Posts
-
A Simple Benchmark Performance Test for LiquidBounce's ScriptAPI -
A Simple Benchmark Performance Test for LiquidBounce's ScriptAPI@EclipsesDev (by-mumy)
I tested using the b98 release, and its remapper is working properly, allowing the use of MCP names.//@ts-ignore blocks.push(mc.theWorld.getBlockState(blockPos.set(x, y, z)));
And the results:
Test Case Fibonacci Sieve of Eratosthenes World Scanner Standard Script 152ms 60056ms 1482ms Due to the theoretically small performance difference in hybrid scripts, testing is no longer conducted.
-
A Simple Benchmark Performance Test for LiquidBounce's ScriptAPI@commandblock2 (by-mumy)
Yes, the remapper for Legacy b99 is broken, but it only affects the function name mapping, while the field names remain unaffected. This issue has led to the use of srg function names instead of mcp function names in the Legacy scripts. -
LiquidBounce ScriptAPI 简易基准性能测试作者:mumy
前言
LiquidBounce自从b57时把ScriptAPI的语言更换到JavaScript后提供了强大的扩展性,但社区中并未对其性能进行过较为具体的评估。
最近我才意识到了这个情况,所以我打算尝试做个简易的Benchmark以评估其性能。测试
我计划将脚本分为两类:标准脚本和混合脚本(例如
mumyPacketDebugger
)。
测试将包括斐波那契数、埃氏质数筛选和世界(方块)扫描。
对于 Nextgen 版本,我分别使用 ZuluJDK 与 GraalVM 进行测试。最终结果将取决于运行时间稳定后的最短耗时。
脚本
legacy b99 和 nextgen 0.24 的 Benchmark.zip
测试平台
- 操作系统:Windows 10 22H2
- CPU:Intel i9-14900HX(锁频 5.0GHz)
- 内存:DDR5 16GB + 16GB 5600MHz
测试环境
- Legacy
- 版本:b99
- JDK:ZuluJDK 8
- Minecraft:Forge 1.8.9 + OptiFine M5
- Nextgen
- 版本:0.24
- JDK:ZuluJDK 21 / GraalVM 21
- Minecraft:Fabric 1.21.4 + Sodium 0.6.6
测试结果
Legacy
测试项目 斐波那契数 埃氏质数筛 世界扫描 标准脚本 149ms 61482ms 1539ms 混合脚本 59ms 1147ms 311ms Nextgen
测试项目 斐波那契数 埃氏质数筛 世界扫描 标准脚本 + ZuluJDK 9890ms 9629ms 9368ms 标准脚本 + GraalVM 144ms 1277ms 1952ms 混合脚本 + ZuluJDK 67ms 1023ms 195ms 混合脚本 + GraalVM 52ms 982ms 177ms 结论
虽然有一些特殊版本的 LiquidBounce 我并未测试,但大多数都是过时版本,参考价值有限(例如 Legacy-b73 1.12.2 或 Nextgen 0.17,后者尚未支持 GraalJS JIT)。
对于 Legacy 版本,自 b57 以来一直使用 Nashorn 作为脚本引擎,理论上每个版本的性能差异不大。
对于 Nextgen 版本,如果没有使用 GraalVM 启动 LiquidBounce,在运行标准脚本时可能会出现卡顿现象。推荐使用 LiquidLauncher 来解决这个问题。
-
A Simple Benchmark Performance Test for LiquidBounce's ScriptAPIAuthor: mumy
Introduction
Since LiquidBounce switched its ScriptAPI language to JavaScript from version b57, it has provided powerful extensibility. However, the community has not conducted a specific performance evaluation on it. Recently, I realized this gap and decided to perform a simple benchmark to assess its performance.
Test
I plan to divide the scripts into two categories: Standard Scripts and Hybrid Scripts (e.g.,
mumyPacketDebugger
). The tests will include Fibonacci numbers, the Sieve of Eratosthenes, and block scanning in the world. For the Nextgen version, tests will be conducted using ZuluJDK and GraalVM.The final result will be based on the shortest time taken after the runtime stabilizes.
Script
Benchmark for legacy b99 and nextgen 0.24.zip
Platform
- OS: Windows 10 22H2
- CPU: Intel i9-14900HX (locked at 5.0GHz)
- RAM: DDR5 16GB + 16GB 5600MHz
Environment
- Legacy
- Version: b99
- JDK: ZuluJDK 8
- Minecraft: Forge 1.8.9 + OptiFine M5
- Nextgen
- Version: 0.24
- JDK: ZuluJDK 21 / GraalVM 21
- Minecraft: Fabric 1.21.4 + Sodium 0.6.6
Results
Legacy
Test Case Fibonacci Sieve of Eratosthenes World Scanner Standard Script 149ms 61482ms 1539ms Hybrid Script 59ms 1147ms 311ms Nextgen
Test Case Fibonacci Sieve of Eratosthenes World Scanner Standard Script + ZuluJDK 9890ms 9629ms 9368ms Standard Script + GraalVM 144ms 1277ms 1952ms Hybrid Script + ZuluJDK 67ms 1023ms 195ms Hybrid Script + GraalVM 52ms 982ms 177ms Conclusion
There are some special versions of LiquidBounce that I haven't tested, but most of them are outdated and have limited reference value (e.g., Legacy-b73 1.12.2 or Nextgen 0.17, which didn't yet support GraalJS JIT).
For the Legacy version, since Nashorn has been used as the Script engine since b57, theoretically, there are no significant performance differences across versions.
For Nextgen, if you don't use GraalVM to launch LiquidBounce, you may experience lag when running standard scripts. I recommend using LiquidLauncher to solve this issue.
-
[Script] ClickGUISyncerAuthor : mumy
- Description
Used to fix the synchronization issue in ClickGUI after the introduction of Cache.
Issue: https://github.com/CCBlueX/LiquidBounce/issues/5228
- Download
ClickGUISyncer 0.1.zip (Compatible with Nextgen 0.21-0.23 (may be fixed in 0.24))
- Description
-
[Script] GCore 0.1Authors : Godden & mumy
E-mail : [email protected](mumy)-
Screenshots
-
Description
A script with extensive Crystal PvP and Teleport features, allowing you to use it on Vanilla servers running 1.9 or later.
(Supports only Nextgen 0.2.0-0.4.1 and Minecraft 1.20.4, and requires Java 21.) -
Instructions
Please place the GCore-0.1.jar file in this directory.
-
Download
GCore-0.1.zip
GCoreLoader.js
-
-
[Script] BlocksMCCriticals for NextgenAuthor : mumy
E-mail : [email protected]-
Screenshots
-
Description
Since Nextgen currently lacks the BlocksMC mode in Criticals, it has been ported from Legacy for use.
#2733 -
Download
BlocksMCCriticals.zip (Nextgen 0.2.0+)
-
-
[Script] mumyPacketDebugger 0.3 (Update)0.3 update
-
[Script] mumyStrongholdFinder 0.1Author : mumy
E-mail : [email protected]-
Screenshots
-
Description
Allows you to use Eye of Ender to locate Stronghold, compatible with nextgen. -
Download
mumyStrongholdFinder 0.1.zip (Nextgen 0.2.0+)
-
-
[Script] mumyPacketDebugger 0.3 (Update)@kawaiinekololis (By mumy)
However, this poses a problem in China, as our Minecraft launchers here generally do not use the official one from Mojang, but rather third-party launchers like PCL or HMCL. Regarding LiquidLauncher, it's essentially not used here due to network reasons. Therefore, to enhance JavaScript performance without using LiquidLauncher, is it necessary to manually install GraalJDK? -
[Script] mumyPacketDebugger 0.3 (Update)@kawaiinekololis
(By mumy)
This was something I thought of when I was writing a script and realized that JavaScript's performance couldn't satisfy the demand (in b73 1.12.2). This approach brings additional benefits, such as type inference and checking (which are not supported by JavaScript and there are no available TypeScript type declarations), and stable execution efficiency (the script is only responsible for loading and unloading). However, it cannot be denied that this could lead to uncertainties in compatibility with future versions of LiquidBounce, but this was a decision made after considering the pros and cons (high execution efficiency). -
[Script] mumyPacketDebugger 0.3 (Update)Author : mumy
E-mail : [email protected]- Screenshots
- Description
The first available PacketDebugger on Nextgen, allowing you to monitor or cancel network packets.
- Download
mumyPacketDebugger 0.1.js (Nextgen 0.1.5+)
mumyPacketDebugger 0.2.zip (Nextgen 0.1.8+)
mumyPacketDebugger 0.3.zip (Nextgen 0.2.0+)
- Screenshots
-
Nextgen 0.1.5 git-5170bcc has rendering errorsIt is guessed that the precision loss issues are caused by the use of the Float type.
-
Yes, we're backOur team fell apart a long time ago, and now our updated JS will be updated by me and Mumy, and we will be upgrading a lot of JS to APIv2, so you can keep an eye on it
-
[JS] mumyFakePlayer 0.1 (b73 1.12.2) -
[JS] LiquidBounce b73 1.12.2 patchAuthor : mumy
E-mail : [email protected]
QQ : 956172670- Download
RotationsFix 0.1.js
NoSlowFix 0.2.js
InventoryMoveFix 0.1.js
VelocityFix 0.1.js
mcp-stable_22.zip (Please replace the file specified in the configuration.)
- Download
-
[JS] mumySurround 0.1 (b73 1.12.2) -
[JS] AutoTotem 0.1 (By mumy, b73 1.12.2)Author : mumy
E-mail : [email protected]
QQ : 956172670- Screenshots
- Download
AutoTotem 0.1.js
mcp-stable_22.zip (Please replace the file specified in the configuration.)
- Screenshots
-
[JS] mumyCrystalAura 0.2 (b73 1.12.2)Author : mumy
E-mail : [email protected]
QQ : 956172670- Screenshots
- Introduce
This is an experimental Crystal Aura that I personally wrote. If you have any good suggestions, please leave a comment as it will be helpful for this script.
- Download
mumyCrystalAura 0.2.js
- Screenshots