Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README.md with lots of needed changes. #43

Open
wants to merge 97 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
2872b8b
Update GraalVM
Aug 16, 2023
809cf69
Update README.md
Aug 16, 2023
b2b817a
Update README.md
Aug 16, 2023
1343b8b
Update README.md
Aug 16, 2023
7c9b4f2
Update README.md
Aug 16, 2023
548f85f
Update README.md
Aug 16, 2023
0c6d524
Update README.md
Aug 23, 2023
b42b64a
Update README.md
Aug 28, 2023
fba4b61
Update README.md
Aug 28, 2023
e47c08b
Update README.md
Aug 30, 2023
0ddc79f
Update README.md
Sep 9, 2023
85dc088
Update README.md
Sep 10, 2023
e6f78eb
Update to 21
Sep 23, 2023
201903b
Update README.md
Sep 23, 2023
cb5de33
Update Java Versions expected
Oct 6, 2023
530326f
Update Benchmark.py
Oct 6, 2023
2c8f8f0
Update Benchmark.py
Oct 6, 2023
d0e2977
Update Benchmarks.md
Oct 6, 2023
19deff4
Update README.md
Oct 6, 2023
b4dfec5
Update README.md
Oct 8, 2023
242b359
Update README.md
Oct 9, 2023
35d4755
Update README.md
Oct 9, 2023
34ed970
Update README.md
Oct 9, 2023
ee7c616
Update README.md
Oct 9, 2023
2e56f17
Update README.md
Oct 9, 2023
8b0a362
Update README.md
Oct 9, 2023
ee31041
Update README.md
Oct 9, 2023
2932138
Update README.md
Oct 11, 2023
4edc7ed
Update README.md
Oct 20, 2023
f229240
Update README.md
Oct 20, 2023
9b72590
Update README.md
Oct 20, 2023
64ad2f7
Update README.md
Oct 27, 2023
de95f5a
Update README.md
Oct 27, 2023
011254f
Update README.md
Oct 27, 2023
bc9576a
Update README.md
Nov 4, 2023
1201bee
Update README.md
Nov 25, 2023
a708787
Update README.md
Nov 25, 2023
efce0df
Update Benchmarks.md
Nov 25, 2023
0eaeb62
Update Benchmark.py
Nov 25, 2023
b96e625
Update README.md
Dec 7, 2023
00181e6
README.md: Use fenced code blocks more frequently
Tokarak Dec 9, 2023
a9ef281
README.md Fix Codeblock fencing syntax
Tokarak Dec 9, 2023
3568fb5
Merge pull request #5 from Tokarak/patch-2
Dec 9, 2023
417c1cc
Changing example to show all and added flag saying "Don't copy these …
Dec 9, 2023
333791a
Update README.md
Dec 9, 2023
3552987
Update README.md
Dec 9, 2023
f16837e
Update README.md
Dec 9, 2023
6a19306
Update README.md
Dec 9, 2023
39b2b0e
Update README.md
Dec 9, 2023
3b70a8a
Update README.md
Dec 9, 2023
ac458c9
Update README.md
Dec 10, 2023
fcebe27
Update README.md
Dec 10, 2023
6869ce2
Update README.md
Dec 10, 2023
ef145a3
Update README.md
Dec 10, 2023
c683c97
Update README.md
Dec 10, 2023
e321ae3
These shouldn't be connected
Dec 10, 2023
95b8251
Update README.md
Dec 12, 2023
3a3e878
Remove Rubidium recommendation
Radk6 Dec 16, 2023
4d918c8
Merge pull request #7 from Radplay/patch-2
Dec 21, 2023
fa8c72c
This should be here
Dec 21, 2023
c30b5dc
Update README.md
Dec 23, 2023
3f14a79
Update README.md
Dec 23, 2023
1341b65
Update README.md
Dec 23, 2023
ff8cdb5
Stop enabling NUMA proactively
Jan 26, 2024
850a9a2
Update README.md
Feb 4, 2024
f2a499a
Remove extra USE
Feb 4, 2024
6b6f7a2
Update README.md
Mar 9, 2024
fd01e44
Update README.md
Mar 16, 2024
e20acde
Fix typo
Uranite Apr 5, 2024
45081a6
Merge pull request #11 from Uranite/main
Apr 5, 2024
68830a4
Update README.md
Apr 6, 2024
888cb15
Update README.md
Apr 6, 2024
dac4232
Update README.md
Apr 6, 2024
6feeceb
Update README.md
Apr 6, 2024
e1c2470
Update README.md
Apr 15, 2024
241f72a
Update README.md
Apr 15, 2024
7da38b5
Update README.md
Apr 29, 2024
da76bf3
Update README.md
Apr 29, 2024
966dd53
Update README.md
May 4, 2024
9779cf7
Update README.md
May 4, 2024
78de048
Update README.md
May 25, 2024
1f2d8ad
Update README.md
Jun 7, 2024
923e073
Fixed Example BUT PLEASE DON'T USE IT
Jun 10, 2024
7489b6f
Define chunky preload size incase default changes
Jun 26, 2024
251c274
Improve phrasing, use correct grammar
Coccocoahelper Jul 12, 2024
aaf52ea
Merge pull request #22 from Coccocoahelper/patch-2
Jul 13, 2024
fba8bf4
Add THP guide
Jul 19, 2024
370e4c0
Update README.md
Mukul1127 Jul 24, 2024
c9e90b0
Update README.md
Mukul1127 Jul 27, 2024
ef8218b
Update README.md
Mukul1127 Jul 30, 2024
5c1ddda
Update License.txt
Mukul1127 Jul 30, 2024
5fd6d85
Update README.md
Mukul1127 Jul 31, 2024
40fdd4b
Update README.md
Mukul1127 Sep 8, 2024
e0a003e
Update README.md
Mukul1127 Sep 21, 2024
747e1b7
If only G1GC supports -XX:AllocatePrefetchStyle=3. then just move it …
Mukul1127 Sep 22, 2024
d7fc991
Update README.md
Mukul1127 Sep 22, 2024
9e5b5e0
Update README.md
Mukul1127 Nov 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions Benchmark.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,33 +10,33 @@
#Use / or \\ instead of \ for paths

#Minecraft Server Paths
#Where do you even get these?

vevserver = r"C:/Games/mcservers/vevserver"

minfabric = r"C:/Games/mcservers/MinimalFabric"
vevserver = r"C:/Benchmark/Servers/vevserver"
minfabric = r"C:/Benchmark/Servers/MinimalFabric"

#Java Paths

graalpath = r"C:/JDKs/graalvm-ee-java17-windows-amd64-22.3.0/graalvm-ee-java17-22.3.0/bin/java.exe"

jdkpath = r"C:/JDKs//OpenJDK17U-jre_x64_windows_hotspot_17.0.4_8/jdk-17.0.4+8-jre/bin/java.exe"

j9path = r"F:/JDKs/ibmopenj9/bin/java.exe"
graalpath = r"C:/Benchmark/JDKs/GraalVM/bin/java.exe"
jdkpath = r"C:/Benchmark/JDKs/Adoptium/bin/java.exe"
j9path = r"C:/Benchmark/JDKs/OpenJ9/bin/java.exe"

#Java Flags (for servers)
#(Should start with a space, so they can be "added" together with the + sign)
#Client flags must be set in Prism instances!

#GC

# Where did this come from?
aikar = r''' -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1'''

graalflags = r''' -XX:+UnlockExperimentalVMOptions -XX:+UnlockDiagnosticVMOptions -XX:+AlwaysActAsServerClassMachine -XX:+AlwaysPreTouch -XX:+DisableExplicitGC -XX:+UseNUMA -XX:AllocatePrefetchStyle=3 -XX:NmethodSweepActivity=1 -XX:ReservedCodeCacheSize=400M -XX:NonNMethodCodeHeapSize=12M -XX:ProfiledCodeHeapSize=194M -XX:NonProfiledCodeHeapSize=194M -XX:-DontCompileHugeMethods -XX:MaxNodeLimit=240000 -XX:NodeLimitFudgeFactor=8000 -XX:+UseVectorCmov -XX:+PerfDisableSharedMem -XX:+UseFastUnorderedTimeStamps -XX:+UseCriticalJavaThreadPriority -XX:+EagerJVMCI -Dgraal.TuneInlinerExploration=1 -Dgraal.CompilerConfiguration=enterprise -XX:+UseG1GC -XX:MaxGCPauseMillis=130 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=28 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=20 -XX:G1MixedGCCountTarget=3 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=0 -XX:SurvivorRatio=32 -XX:MaxTenuringThreshold=1 -XX:G1SATBBufferEnqueueingThresholdPercent=30 -XX:G1ConcMarkStepDurationMillis=5 -XX:G1ConcRSHotCardLimit=16 -XX:G1ConcRefinementServiceIntervalMillis=150 -XX:ConcGCThreads=6'''

lpages = r''' -XX:+UseLargePages -XX:LargePageSizeInBytes=2m'''

memory = r''' -Xms7G -Xmx7G'''
memory = r''' -Xms10G -Xmx10G'''

lightmemory = r''' -Xms4G -Xmx4G'''
lightmemory = r''' -Xms6G -Xmx6G'''

alot = r''' -Dgraal.EEPeelAlot=true -Dgraal.StripMineALot=true'''

Expand Down Expand Up @@ -81,7 +81,7 @@
#Server benchmarking options
nogui = True #Whether to run the dedicated server GUI or not
carpet = 67 #number of simulated players if the "Carpet" fabric mod is present
fabric_chunkgen_command = r"chunky start" #Chunk generation command to use in fabric packs
fabric_chunkgen_command = r"chunky start 1500" #Chunk generation command to use in fabric packs
fabric_chunkgen_expect = r"[Chunky] Task finished for" #String to look for when chunk generation is finished
forge_chunkgen_command = r"forge generate 0 0 0 3000" #Chunk generation command to use in forge packs
forge_chunkgen_expect = r"Finished generating" ##String to look for when chunk generation is finished
Expand All @@ -91,9 +91,9 @@
forceload_cmd= r"forceload add -120 -120 120 120" #Command to forceload a rectangle. Can also be some other server console command.

#Client benchmarking options
prismpath = r"C:/Games/Prism-Windows-Portable-1.4.0/Prism.exe" #Full path to Prism executable file
prismpath = r"C:/Benchmark/PrismLauncherPortable/Prism.exe" #Full path to Prism executable file
prisminstances = r"" #Full path to Prism instance folder. Normally in %appdata%/roaming/Prism on windows, but you can leave this blank if using Prism portable.
presentmonpath = r"presentmon.exe" #full path to Intel presentmon executable file
presentmonpath = r"C:/Benchmark/presentmon.exe" #full path to Intel presentmon executable file
warmup = 90 #Seconds to wait after hitting the "singleplayer" button before starting the benchmark. Give enough time for the world to load, and java to "warm up"
benchtime = 90 #Seconds to run the benchmark
focusclick = False #Middle click before searching for buttons, only really necessary for fullscreen Minecraft
Expand Down
12 changes: 8 additions & 4 deletions Benchmarks.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,16 @@

Clone or download this repo with the "download as zip" button on GitHub.

Install a recent version of Python (preferably Python 3.10), and run this command in this folder: `python -m pip install -r requirements.txt`
Install a recent version of Python (preferably Python 3.10+), and run this command in this folder: `python -m pip install -r requirements.txt`

Client benchmarks require Prism Launcher (preferrably the portable release) and Intel Presentmon.
https://github.com/GameTechDev/PresentMon/releases
- https://github.com/GameTechDev/PresentMon/releases
- https://game.intel.com/story/intel-presentmon

<br />
<br />
<br />
<br />

**NOTE: My own benchmarking is on pause, and this script/guide may need more updating for the switch from PolyMC to Prism Launcher**

Expand Down Expand Up @@ -69,8 +75,6 @@ Currently, client benchmarking only works on Windows. Server benching is tested

# Client Benchmarking

**WIP, the client benchmark is transitioning from PolyMC to Prism Launcher!**

Client benchmarking is tricky and finicky. You have been warned!

- First, open the Prism options and disable it from automatically opening log windows when instances start.
Expand Down
3 changes: 2 additions & 1 deletion License.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
MIT License

Copyright (c) 2022 brucethemoose
Copyright (c) 2022 - 2023 brucethemoose
Copyright (c) 2023 - 2024 Mukul Kedia

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Loading