Chunk generator performance survey
#41
I compiled a binary with gcc 6 and clang 3.9.1. This are the result from 3 runs for every binary. Used only world no nether and no the end.

In world/world.ini changed:
PregenerateDistance to 100
Seed to 42

clang 3.9.1
1:
Min: 78,8 ch/s
Max: 101,03 ch/s
Avg: 83,15222222 ch/s
Time: 69.201 seconds

2:
Min: 79,41 ch/s
Max: 104,22 ch/s
Avg: 84,00258065 ch/s
Time: 68.312 seconds

3:
Min: 79,79 ch/s
Max: 102,2 ch/s
Avg: 83,67548387 ch/s
Time: 68.730 seconds


gcc 6
1:
Min: 92,97 ch/s
Max: 116,48 ch/s
Avg: 97,17301887 ch/s
Time: 64.038 seconds

2:
Min: 92,99 ch/s
Max: 116,94 ch/s
Avg: 97,25037736 ch/s
Time: 64.480 seconds

3.
Min: 92,99 ch/s
Max: 116,9 ch/s
Avg: 96,84740741 ch/s
Time: 64.168 seconds


As you can see gcc beats clang. I didn't changed anything in the source and added no flags.
Reply
Thanks given by:
#42
The question is now why. I know that there are a few warnings in the noise generator with shift left negative value and overflow. Maybe clang adds additionally checks or doing some casting with the numbers.
Reply
Thanks given by:
#43
I build a new desktop last week Smile

Code:
    [10:09:36] Chunk generator performance: 131.17 ch / sec (513 ch total)
    [10:09:38] Chunk generator performance: 130.49 ch / sec (772 ch total)
    [10:09:40] Chunk generator performance: 131.17 ch / sec (1039 ch total)
    [10:09:42] Chunk generator performance: 131.92 ch / sec (1310 ch total)
    [10:09:44] Chunk generator performance: 132.64 ch / sec (1583 ch total)
    [10:09:46] Chunk generator performance: 132.15 ch / sec (1842 ch total)
    [10:09:48] Chunk generator performance: 131.80 ch / sec (2101 ch total)
    [10:09:50] Chunk generator performance: 132.56 ch / sec (2379 ch total)
    [10:09:52] Chunk generator performance: 132.57 ch / sec (2645 ch total)

To be safe I copied the world.ini from here


Attached Files
.png   CPUZ.PNG (Size: 26.62 KB / Downloads: 351)
Reply
Thanks given by:
#44
Upgraded my CPU to a 5800X.

world.ini:

Code:
; This is the per-world configuration file, managing settings such as generators, simulators, and spawn points

[General]
Dimension=Overworld
UnusedChunkCap=1000
IsDaylightCycleEnabled=1
Gamemode=0
Weather=0
WorldAgeMS=1074118
TimeInTicks=21480

[Broadcasting]
BroadcastDeathMessages=0
BroadcastAchievementMessages=1

[SpawnPosition]
MaxViewDistance=10
X=0.500000
Y=69.000000
Z=-7.500000
PregenerateDistance=70

[Storage]
Schema=Default
CompressionFactor=6

[Plants]
MaxCactusHeight=3
MaxSugarcaneHeight=3

[Physics]
DeepSnow=1
ShouldLavaSpawnFire=1
TNTShrapnelLevel=2
WaterSimulator=Vanilla
LavaSimulator=Vanilla
SandInstantFall=0
RedstoneSimulator=Incremental

[Mechanics]
CommandBlocksEnabled=0
PVPEnabled=1
UseChatPrefixes=1
MinNetherPortalWidth=2
MaxNetherPortalWidth=21
MinNetherPortalHeight=3
MaxNetherPortalHeight=21

[Monsters]
VillagersShouldHarvestCrops=1
AnimalsOn=1
Types=bat, cavespider, chicken, cow, creeper, guardian, horse, mooshroom, ocelot, pig, rabbit, sheep, silverfish, skeleton, slime, spider, squid, wolf, zombie

[Weather]
MaxSunnyTicks=180000
MinSunnyTicks=12000
MaxRainTicks=24000
MinRainTicks=12000
MaxThunderStormTicks=15600
MinThunderStormTicks=3600

[LinkedWorlds]
NetherWorldName=world_nether
EndWorldName=world_the_end

[Generator]
BiomeGen=Grown
ShapeGen=BiomalNoise3D
CompositionGen=Biomal
Finishers=RoughRavines, WormNestCaves, WaterLakes, WaterSprings, LavaLakes, LavaSprings, OreNests, Mineshafts, Trees, Villages, SinglePieceStructures: JungleTemple|WitchHut|DesertPyramid|DesertWell, TallGrass, SprinkleFoliage, Ice, Snow, Lilypads, BottomLava, DeadBushes, NaturalPatches, PreSimulator, Animals, OverworldClumpFlowers
Generator=Composable
BiomeGenCacheSize=16
BiomeGenMultiCacheLength=128
SeaLevel=62
BiomalNoise3DFrequencyX=40.000000
BiomalNoise3DFrequencyY=40.000000
BiomalNoise3DFrequencyZ=40.000000
BiomalNoise3DBaseFrequencyX=40.000000
BiomalNoise3DBaseFrequencyZ=40.000000
BiomalNoise3DChoiceFrequencyX=40.000000
BiomalNoise3DChoiceFrequencyY=80.000000
BiomalNoise3DChoiceFrequencyZ=40.000000
BiomalNoise3DAirThreshold=0.000000
BiomalNoise3DNumChoiceOctaves=4
BiomalNoise3DNumDensityOctaves=6
BiomalNoise3DNumBaseOctaves=6
BiomalNoise3DBaseAmplitude=1.000000
CompositionGenCacheSize=64
RoughRavinesGridSize=256
RoughRavinesMaxOffset=128
RoughRavinesMaxSize=128
RoughRavinesMinSize=64
RoughRavinesMaxCenterWidth=8.000000
RoughRavinesMinCenterWidth=2.000000
RoughRavinesMaxRoughness=0.200000
RoughRavinesMinRoughness=0.050000
RoughRavinesMaxFloorHeightEdge=8.000000
RoughRavinesMinFloorHeightEdge=30.000000
RoughRavinesMaxFloorHeightCenter=20.000000
RoughRavinesMinFloorHeightCenter=6.000000
RoughRavinesMaxCeilingHeightEdge=56.000000
RoughRavinesMinCeilingHeightEdge=38.000000
RoughRavinesMaxCeilingHeightCenter=58.000000
RoughRavinesMinCeilingHeightCenter=36.000000
WormNestCavesSize=64
WormNestCavesGrid=96
WormNestMaxOffset=32
WaterLakesProbability=25
LavaLakesProbability=10
MineShaftsGridSize=512
MineShaftsMaxOffset=256
MineShaftsMaxSystemSize=160
MineShaftsChanceCorridor=600
MineShaftsChanceCrossing=200
MineShaftsChanceStaircase=200
VillageGridSize=384
VillageMaxOffset=128
VillageMaxDepth=2
VillageMaxSize=128
VillageMinDensity=50
VillageMaxDensity=80
VillagePrefabs=PlainsVillage, SandVillage
BottomLavaLevel=10
PreSimulatorFallingBlocks=1
PreSimulatorWater=1
PreSimulatorLava=1
OverworldClumpFlowers-1=Forest, -2, 2; ForestHills, -3, 2; FlowerForest = yellowflower; redflower; lilac; rosebush
OverworldClumpFlowers-2=Plains, -2, 1; SunflowerPlains = yellowflower; redflower; azurebluet; redtulip; orangetulip; whitetulip; pinktulip; oxeyedaisy
OverworldClumpFlowers-3=SunflowerPlains, 1, 2 = sunflower
OverworldClumpFlowers-4=FlowerForest, 2, 5 = allium; redtulip; orangetulip; whitetulip; pinktulip; oxeyedaisy
OverworldClumpFlowers-5=Swampland; SwamplandM = brownmushroom; redmushroom; blueorchid
OverworldClumpFlowers-6=MushroomIsland; MushroomShore; MegaTaiga; MegaTaigaHills; MegaSpruceTaiga; MegaSpruceTaigaHills = brownmushroom; redmushroom
OverworldClumpFlowers-7=RoofedForest, 1, 5; RoofedForestM, 1, 5 = rosebush; peony; lilac; grass

[WaterSimulator]
Falloff=1
TickDelay=5
NumNeighborsForSource=2

[LavaSimulator]
Falloff=2
TickDelay=30
NumNeighborsForSource=-1

[FireSimulator]
BurnStepTimeFuel=500
BurnStepTimeNonfuel=100
Flammability=50
ReplaceFuelChance=50000

[Seed]
Seed=768054009

[WaterSprings]
HeightDistribution=0, 0; 10, 10; 11, 75; 16, 83; 20, 83; 24, 78; 32, 62; 40, 40; 44, 15; 48, 7; 56, 2; 64, 1; 255, 0
Chance=24

[LavaSprings]
HeightDistribution=0, 0; 10, 5; 11, 45; 48, 2; 64, 1; 255, 0
Chance=9

[Animals]
AnimalSpawnChunkPercentage=10

[SpawnProtect]
ProtectRadius=10

[Difficulty]
WorldDifficulty=1

[WorldLimit]
LimitRadius=0


Ryzen 5 2600X:

Code:
[16:12:47] Chunk generator performance: 133.49 ch / sec (513 ch total)
[16:12:49] Chunk generator performance: 133.33 ch / sec (780 ch total)
[16:12:51] Chunk generator performance: 132.65 ch / sec (1042 ch total)
[16:12:53] Chunk generator performance: 132.54 ch / sec (1307 ch total)
[16:12:55] Chunk generator performance: 132.15 ch / sec (1568 ch total)
[16:12:57] Chunk generator performance: 132.42 ch / sec (1837 ch total)
[16:12:59] Chunk generator performance: 133.18 ch / sec (2115 ch total)
[16:13:01] Chunk generator performance: 133.12 ch / sec (2381 ch total)
[16:13:03] Chunk generator performance: 133.67 ch / sec (2659 ch total)
[16:13:05] Chunk generator performance: 133.35 ch / sec (2920 ch total)
[16:13:07] Chunk generator performance: 133.14 ch / sec (3182 ch total)
[16:13:09] Chunk generator performance: 133.53 ch / sec (3459 ch total)
[16:13:11] Chunk generator performance: 133.51 ch / sec (3727 ch total)
[16:13:13] Chunk generator performance: 133.51 ch / sec (3995 ch total)
[16:13:15] Chunk generator performance: 133.57 ch / sec (4265 ch total)
[16:13:17] Chunk generator performance: 133.99 ch / sec (4547 ch total)
[16:13:19] Chunk generator performance: 134.13 ch / sec (4821 ch total)
[16:13:21] Chunk generator performance: 134.29 ch / sec (5096 ch total)


Ryzen 7 5800X:

Code:
[18:26:38] Chunk generator performance: 174.97 ch / sec (513 ch total)
[18:26:40] Chunk generator performance: 174.16 ch / sec (860 ch total)
[18:26:42] Chunk generator performance: 173.94 ch / sec (1208 ch total)
[18:26:44] Chunk generator performance: 173.50 ch / sec (1553 ch total)
[18:26:46] Chunk generator performance: 174.29 ch / sec (1909 ch total)
[18:26:48] Chunk generator performance: 174.90 ch / sec (2267 ch total)
[18:26:50] Chunk generator performance: 175.52 ch / sec (2627 ch total)
[18:26:52] Chunk generator performance: 175.13 ch / sec (2972 ch total)
[18:26:54] Chunk generator performance: 174.92 ch / sec (3319 ch total)
[18:26:56] Chunk generator performance: 175.39 ch / sec (3679 ch total)
[18:26:58] Chunk generator performance: 175.30 ch / sec (4028 ch total)
[18:27:00] Chunk generator performance: 175.78 ch / sec (4392 ch total)
[18:27:02] Chunk generator performance: 176.44 ch / sec (4762 ch total)
[18:27:04] Chunk generator performance: 176.74 ch / sec (5124 ch total)

Reply
Thanks given by:
#45
Nice, good to see that there haven't been any regressions from 2018! Congrats on actually finding stock for the processor...
Reply
Thanks given by:
#46
The 5600X and 5800X can easily be found at MSRP here in The Netherlands. The 5900X and 5950X on the other hand...
Reply
Thanks given by:




Users browsing this thread: 2 Guest(s)