WhatsLaggin report (manual)  1m06s recorded, ended 2026-10-22 15:24:32
Minecraft 1.20.1, Forge 47.4.20, 462 mods, Java 17.0.8 OpenJDK 64-Bit Server VM, max heap 10.0 GB
GPU AMD Radeon RX 9070 XT (ATI Technologies Inc.), OpenGL 4.6.0 Core Profile Context 26.10.1.261008
CPU 16x AMD Ryzen 7 7800X3D 8-Core Processor, 16 threads, 31.4 GB RAM
Video 3440x1440 fullscreen @180 Hz, vsync off, fps limit unlimited, render distance 16, simulation 7, graphics fancy, shaders off
World minecraft:overworld, 5 entities loaded

VERDICT
  1130 fps average (0.89 ms per frame), 1% low 159 fps, 0.1% low 63 fps.
  CPU-BOUND: the render thread is busy for 0.63 ms of each frame; the GPU wait is only 0.25 ms. Cutting render-thread work raises FPS directly.
  11 stutters over 20 ms (10.0 per minute), worst 60 ms. Biggest cause: GC pause (G1 Young Generation).

WHAT TO FIX (ranked by time lost per second of play)
  1. [cpu] xaeroworldmap costs 0.055 ms per frame on the render thread
       9.0% of render-thread CPU time, mostly in no phase, 85% in its own code (rest is vanilla/library code it called)
       99%  xaero.map.events.ClientEventsForge.renderTick:32   <- Minecraft.runTick:1148
               hot: xaero.map.MapWriter.shouldOverlayCached:642 (27%), executing LevelReader.getNoiseBiome:58 (5.7%)
       removing this cost entirely: about 1130 -> 1205 fps
  2. [cpu] immediatelyfast costs 0.045 ms per frame on the render thread
       7.3% of render-thread CPU time, mostly in world, 36% in its own code (rest is vanilla/library code it called)
       52%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116   <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96:327
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (72%), executing GL15C.nglBufferSubData (9.6%)
       21%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125   <- LevelRenderer.renderLevel:1283
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (35%), executing RenderStateShard.setupRenderState:37 (11%)
       11%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.getBuffer:68   <- com.eeeab.eeeabsmobs.client.render.LightningManager.render:30
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.addNewFallbackBuffer:188 (51%), executing Map.computeIfAbsent (51%)
       removing this cost entirely: about 1130 -> 1190 fps
  3. [cpu] embeddium costs 0.039 ms per frame on the render thread
       6.3% of render-thread CPU time, mostly in world, 39% in its own code (rest is vanilla/library code it called)
       45%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:284   <- LevelRenderer.renderChunkLayer:40702
               hot: me.jellysquid.mods.sodium.client.render.chunk.terrain.TerrainRenderPass.startDrawing:62 (26%), executing GL32C.nglMultiDrawElementsBaseVertex (11%)
       16%  LevelRenderer.renderCloudsFast:7112 [mixin handler from me.jellysquid.mods.sodium.mixin.features.render.world.clouds.WorldRendererMixin]   <- LevelRenderer.renderClouds:1900
               hot: me.jellysquid.mods.sodium.client.render.immediate.CloudRenderer.applyFogModifiers:253 (23%), executing FogRenderer$MobEffectFogFunction.isEnabled:350 (11%)
       10%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:218   <- LevelRenderer.setupRender:40729
               hot: me.jellysquid.mods.sodium.client.render.chunk.region.RenderRegionManager.update:51 (38%), executing Long2ReferenceOpenHashMap$MapIterator.nextEntry:662 (13%)
       removing this cost entirely: about 1130 -> 1181 fps
  4. [cpu] punchy costs 0.032 ms per frame on the render thread
       5.3% of render-thread CPU time, mostly in world, 70% in its own code (rest is vanilla/library code it called)
       84%  ItemInHandRenderer.punchy$renderFirstPersonModel:1160 [mixin handler from punchy.mixin.client.ItemInHandRendererMixin]   <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96
               hot: punchy.client.state.MovementStateMachine.beginRenderSample:413 (5.3%), executing ItemStack.is:225 (5.3%)
       14%  punchy.platform.ForgeClientPlatform.onClientTick:109   <- Minecraft.tick:1875
               hot: punchy.client.animation.PunchyAnimationManager.normalizeOptionId:357 (6.3%), executing StringLatin1.toLowerCase (16%)
       removing this cost entirely: about 1130 -> 1173 fps
  5. [cpu] gnetum costs 0.031 ms per frame on the render thread
       5.1% of render-thread CPU time, mostly in hud, 29% in its own code (rest is vanilla/library code it called)
       99%  ForgeGui.gnetum$render$mixinextras$bridge$64 [mixin wrapOperation from me.decce.gnetum.mixins.ForgeGuiMixin]   <- GameRenderer.render:945
               hot: ForgeGui.gnetum$postEvent:3130 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin] (47%), executing ASMEventHandler.invoke:55 (25%)
       removing this cost entirely: about 1130 -> 1171 fps
  6. [stutter] Stutter: GC pause (G1 Young Generation)
       6 frames over 20 ms, worst 60 ms, 197 ms of extra frame time per minute
       allocation 771 MB/s; 52 collections, worst 59 ms
       140 MB/s fastchunkgen (18%): NoiseChunk.lambda$wrap$0:4484 [mixin merged from com.misanthropy.fastchunkgen.opts.worldgen.vanilla.mixin.noise_chunk_wrap.MixinNoiseChunk] -> [D
       137 MB/s collections_of_optimizations (18%): com.misanthropy.collections_of_optimizations.core.FeaturePlacement.step:58 -> ReferencePipeline$Head
       131 MB/s lithoform (17%): com.misanthropy.lithoform.compat.LandProvinces.province:496 -> [J
       Fix: cut allocation at the sites above (reuse objects, avoid streams/boxing in per-tick code).
  7. [cpu] linggango_tweaks costs 0.026 ms per frame on the render thread
       4.2% of render-thread CPU time, mostly in world, 27% in its own code (rest is vanilla/library code it called)
       30%  com.misanthropy.linggango.linggango_tweaks.lumalight.LumalightClient.onRenderLevel:91   <- GameRenderer.renderLevel:1128
               hot: com.misanthropy.linggango.linggango_tweaks.lumalight.PostEffectRenderer.draw:210 (30%), executing GL45C.glBlitNamedFramebuffer (30%)
       29%  com.misanthropy.linggango.linggango_tweaks.client.DynamicCrosshairHandler.onRenderCrosshair:205   <- ForgeGui.gnetum$postEvent:3130 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin]
               hot: com.misanthropy.linggango.linggango_tweaks.client.DynamicCrosshairHandler.coneGap:149 (0.9%), executing GL20C.glUseProgram (18%)
       14%  GameRenderer.linggango$lumaOutlineFirstPerson:18121 [mixin handler from com.misanthropy.linggango.linggango_tweaks.mixin.lumalight.FirstPersonRimMixin]   <- GameRenderer.renderLevel:1132
               hot: com.misanthropy.linggango.linggango_tweaks.lumalight.PostEffectRenderer.drawInPlace:166 (35%), executing GL30C.glBindFramebuffer (15%)
       removing this cost entirely: about 1130 -> 1164 fps
  8. [world] minecraft:player (entity tick) costs 20 ms every second
       1,329 calls, 997 us each, worst 11 ms at 59986, 199, 60000
  9. [stutter] Stutter: unexplained (present)
       3 frames over 20 ms, worst 25 ms, 63 ms of extra frame time per minute

FRAMES
  74,419 frames   p50 0.70 ms   p95 1.77 ms   p99 4.13 ms   worst 60 ms
  per frame:  tasks 0.012 ms  client tick 0.054 ms  render 0.47 ms  present 0.25 ms  other 0.098 ms
  inside those:  swap 0.25 ms  world 0.35 ms  hud 0.082 ms  screen 0.002 ms
  client tick: 3.03 ms per tick, 20.1 ticks per second
  GPU time per pass (mean per frame, each pass also holds what mods drew at the stage before it):
    0.018 ms  3.4%  sky and frame setup   (p95 0.023 ms)
    0.021 ms  4.2%  solid terrain   (p95 0.48 ms)
    0.019 ms  3.8%  cutout mipped terrain   (p95 0.027 ms)
    0.000 ms  <0.1%  cutout terrain   (p95 0.002 ms)
    0.013 ms  2.6%  entities   (p95 0.018 ms)
    0.000 ms  <0.1%  block entities   (p95 0.002 ms)
    0.026 ms  5.2%  translucent terrain   (p95 0.20 ms)
    0.000 ms  <0.1%  tripwire   (p95 0.002 ms)
    0.000 ms  <0.1%  particles   (p95 0.005 ms)
    0.035 ms  6.9%  weather and clouds   (p95 0.065 ms)
    0.000 ms  <0.1%  end of level render   (p95 0.002 ms)
    0.15 ms  29%  hand and post effects   (p95 0.22 ms)
    0.13 ms  25%  hud   (p95 0.20 ms)
    0.097 ms  19%  screens and rest of frame   (p95 0.20 ms)

RENDER THREAD CPU BY MOD (sampled; excludes GPU wait, fps limiter and blocked time)
  12,901 samples: CPU work 69%, GPU wait 31%, limiter 0.0%, blocked on other threads <0.1%
  mods caused 79% of render-thread CPU work, vanilla/forge/driver the rest
  18% of CPU work is inside OpenGL calls (driver work or a GPU sync), mostly glQueryCounter; the mod that made the call is charged for it below
  ms/frame  share  own   mod                          mostly in
  0.067 ms  11%    100%  forge (loader, events)       world
  0.063 ms  10%    75%   minecraft (vanilla)          world
  0.055 ms  9.0%   85%   xaeroworldmap                no phase
  0.045 ms  7.3%   36%   immediatelyfast              world
  0.039 ms  6.3%   39%   embeddium                    world
  0.032 ms  5.3%   70%   punchy                       world
  0.031 ms  5.1%   29%   gnetum                       hud
  0.026 ms  4.2%   27%   linggango_tweaks             world
  0.020 ms  3.2%   83%   collections_of_optimizations world
  0.018 ms  2.9%   13%   oculus                       world
  0.017 ms  2.8%   4.5%  whatslaggin                  world
  0.013 ms  2.2%   6.8%  let_there_be_atmosphere      world
  0.012 ms  1.9%   92%   flywheel                     world
  0.011 ms  1.8%   30%   xaerolib                     hud
  0.008 ms  1.4%   57%   brute_force_culling_revived  world
  0.15 ms   156 more below 0.5% each

HOT PATHS (where each mod's render-thread time goes; SRG names translated; <- = called from)
  minecraft (vanilla)  0.063 ms/frame, 10%, hottest vanilla methods:
    9.7%  LevelRenderer.renderLevel  <- me.decce.ixeris.RenderThreadStarter.run:39
          executing Iterators$1.hasNext:140 3.4%
    5.6%  Minecraft.runTick:1170  <- me.decce.ixeris.RenderThreadStarter.run:39
          executing ConcurrentLinkedQueue.poll 3.9%
  xaeroworldmap  0.055 ms/frame, 9.0%
    99%   xaero.map.events.ClientEventsForge.renderTick:32  <- Minecraft.runTick:1148
          hot xaero.map.MapWriter.shouldOverlayCached:642 27%
          executing LevelReader.getNoiseBiome:58 5.7%
  immediatelyfast  0.045 ms/frame, 7.3%
    52%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96:327
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 72%
          executing GL15C.nglBufferSubData 9.6%
    21%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125  <- LevelRenderer.renderLevel:1283
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 35%
          executing RenderStateShard.setupRenderState:37 11%
    11%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.getBuffer:68  <- com.eeeab.eeeabsmobs.client.render.LightningManager.render:30
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.addNewFallbackBuffer:188 51%
          executing Map.computeIfAbsent 51%
  embeddium  0.039 ms/frame, 6.3%
    45%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:284  <- LevelRenderer.renderChunkLayer:40702
          hot me.jellysquid.mods.sodium.client.render.chunk.terrain.TerrainRenderPass.startDrawing:62 26%
          executing GL32C.nglMultiDrawElementsBaseVertex 11%
    16%   LevelRenderer.renderCloudsFast:7112 [mixin handler from me.jellysquid.mods.sodium.mixin.features.render.world.clouds.WorldRendererMixin]  <- LevelRenderer.renderClouds:1900
          hot me.jellysquid.mods.sodium.client.render.immediate.CloudRenderer.applyFogModifiers:253 23%
          executing FogRenderer$MobEffectFogFunction.isEnabled:350 11%
    10%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:218  <- LevelRenderer.setupRender:40729
          hot me.jellysquid.mods.sodium.client.render.chunk.region.RenderRegionManager.update:51 38%
          executing Long2ReferenceOpenHashMap$MapIterator.nextEntry:662 13%
  punchy  0.032 ms/frame, 5.3%
    84%   ItemInHandRenderer.punchy$renderFirstPersonModel:1160 [mixin handler from punchy.mixin.client.ItemInHandRendererMixin]  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96
          hot punchy.client.state.MovementStateMachine.beginRenderSample:413 5.3%
          executing ItemStack.is:225 5.3%
    14%   punchy.platform.ForgeClientPlatform.onClientTick:109  <- Minecraft.tick:1875
          hot punchy.client.animation.PunchyAnimationManager.normalizeOptionId:357 6.3%
          executing StringLatin1.toLowerCase 16%
  gnetum  0.031 ms/frame, 5.1%
    99%   ForgeGui.gnetum$render$mixinextras$bridge$64 [mixin wrapOperation from me.decce.gnetum.mixins.ForgeGuiMixin]  <- GameRenderer.render:945
          hot ForgeGui.gnetum$postEvent:3130 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin] 47%
          executing ASMEventHandler.invoke:55 25%
  linggango_tweaks  0.026 ms/frame, 4.2%
    30%   com.misanthropy.linggango.linggango_tweaks.lumalight.LumalightClient.onRenderLevel:91  <- GameRenderer.renderLevel:1128
          hot com.misanthropy.linggango.linggango_tweaks.lumalight.PostEffectRenderer.draw:210 30%
          executing GL45C.glBlitNamedFramebuffer 30%
    29%   com.misanthropy.linggango.linggango_tweaks.client.DynamicCrosshairHandler.onRenderCrosshair:205  <- ForgeGui.gnetum$postEvent:3130 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin]
          hot com.misanthropy.linggango.linggango_tweaks.client.DynamicCrosshairHandler.coneGap:149 0.9%
          executing GL20C.glUseProgram 18%
    14%   GameRenderer.linggango$lumaOutlineFirstPerson:18121 [mixin handler from com.misanthropy.linggango.linggango_tweaks.mixin.lumalight.FirstPersonRimMixin]  <- GameRenderer.renderLevel:1132
          hot com.misanthropy.linggango.linggango_tweaks.lumalight.PostEffectRenderer.drawInPlace:166 35%
          executing GL30C.glBindFramebuffer 15%
  collections_of_optimizations  0.020 ms/frame, 3.2%
    15%   me.decce.gnetum.ASMEventHandlerHelper.coo$singleModIdLookup:532 [mixin handler from com.misanthropy.collections_of_optimizations.mixin.gnetum.MixinASMEventHandlerHelper]  <- me.decce.gnetum.ASMEventHandlerHelper.tryGetModId
          executing Reference2ObjectOpenHashMap.get:321 100%
    14%   ClientLevel.coo$planDisplayTick:25091 [mixin wrapMethod from com.misanthropy.collections_of_optimizations.mixin.subtleeffects.MixinClientLevelDisplayTick]  <- ClientLevel.animateTick [mixin handler from einstein.subtle_effects.mixin.client.ClientLevelMixin]
          hot com.misanthropy.collections_of_optimizations.core.SubtleEffectsDisplayTick.run:161 69%
          executing Level.getGameTime:729 7.7%
    8.7%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.coo$onlyBusyLayers:1065 [mixin redirect from com.misanthropy.collections_of_optimizations.mixin.immediatelyfast.MixinBatchableBufferSource]  <- net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:117
          executing Arrays.fill 16%

STUTTERS (frames over 20 ms, grouped by what was happening during them)
  frames  worst     extra/min   cause
  6       60 ms     197 ms      GC pause (G1 Young Generation)
  3       25 ms     63 ms       unexplained (present)
  1       24 ms     22 ms       GPU / driver (buffer swap)

  worst frames:
  15:23:27.680  60 ms    present 59 ms         GC pause (G1 Young Generation)
                             58 ms of the frame was a stop-the-world collection
  15:23:31.019  57 ms    render 57 ms          GC pause (G1 Young Generation)
                             55 ms of the frame was a stop-the-world collection
  15:23:33.458  35 ms    render 35 ms          GC pause (G1 Young Generation)
                             32 ms of the frame was a stop-the-world collection
  15:23:31.810  25 ms    present 24 ms         unexplained (present)
                             1 stack samples landed inside this frame, too few to name a cause
  15:23:31.834  24 ms    present 18 ms         GPU / driver (buffer swap)
                             2 of 3 samples waiting in glfwSwapBuffers
  15:23:33.253  24 ms    present 24 ms         unexplained (present)
                             0 stack samples landed inside this frame, too few to name a cause
  15:23:48.686  24 ms    render 24 ms          GC pause (G1 Young Generation)
                             20 ms of the frame was a stop-the-world collection
  15:23:35.304  24 ms    present 23 ms         GC pause (G1 Young Generation)
                             22 ms of the frame was a stop-the-world collection
  15:23:31.773  22 ms    present 21 ms         unexplained (present)
                             0 stack samples landed inside this frame, too few to name a cause
  15:24:05.391  21 ms    render 20 ms          GC pause (G1 Young Generation)
                             18 ms of the frame was a stop-the-world collection

MEMORY AND GC
  allocated 49.8 GB (771 MB/s, exact, all threads), max heap 10.0 GB
  52 GC pauses (0 old/full), 725 ms paused (1.1%), worst 59 ms, one every 1.3 s
  longest pauses:
    15:23:27.678  59 ms  G1 Young Generation, G1 Evacuation Pause
    15:23:31.016  55 ms  G1 Young Generation, G1 Evacuation Pause
    15:23:33.454  33 ms  G1 Young Generation, GCLocker Initiated GC
    15:23:35.302  23 ms  G1 Young Generation, G1 Evacuation Pause
    15:23:48.682  21 ms  G1 Young Generation, G1 Evacuation Pause
    15:23:46.721  20 ms  G1 Young Generation, G1 Evacuation Pause
  heap after GC 7.5 GB (75% of max, old garbage stays until the next marking cycle), changed by 1.9 GB over the recording
  by mod (JFR samples scaled to each thread's exact allocation; 99% of bytes covered):
    140 MB/s  18%    fastchunkgen              1,596 samples
        9.4%  NoiseChunk.lambda$wrap$0:4484 [mixin merged from com.misanthropy.fastchunkgen.opts.worldgen.vanilla.mixin.noise_chunk_wrap.MixinNoiseChunk] -> [D
    137 MB/s  18%    collections_of_optimizations 1,456 samples
        10%  com.misanthropy.collections_of_optimizations.core.FeaturePlacement.step:58 -> ReferencePipeline$Head
        9.2%  com.misanthropy.collections_of_optimizations.core.FeaturePlacement.step:57 -> FeaturePlacement$Walk
        6.8%  com.misanthropy.collections_of_optimizations.core.FeaturePlacement.step:63 -> Iterators$9
    131 MB/s  17%    lithoform                 1,609 samples
        17%  com.misanthropy.lithoform.compat.LandProvinces.province:496 -> [J
        13%  com.misanthropy.lithoform.bowl.BowlOffset.compute:25 -> DensityFunctions$Spline$Point
        8.6%  com.misanthropy.lithoform.compat.LandProvinces.province:495 -> Climate$TargetPoint
    72 MB/s   9.4%   minecraft (vanilla)       2,939 samples
        12%  SkyLightSectionStorage$SkyDataLayerStorageMap.copy:164 -> [J
        9.4%  BlockLightSectionStorage$BlockDataLayerStorageMap.copy:36 -> [J
        8.7%  SkyLightSectionStorage$SkyDataLayerStorageMap.copy:164 -> Object;
    35 MB/s   4.6%   alexscaves                325 samples
        33%  MultiNoiseBiomeSource.citadel_getNoiseBiomeCoords:536 [mixin handler from com.github.alexmodguy.alexscaves.mixin.MultiNoiseBiomeSourceMixin] -> Climate$TargetPoint
        28%  com.github.alexmodguy.alexscaves.server.level.biome.ACBiomeRarity.getRareBiomeInfoForQuad -> CallbackInfoReturnable
        14%  MultiNoiseBiomeSource.citadel_getNoiseBiomeCoords:536 [mixin handler from com.github.alexmodguy.alexscaves.mixin.MultiNoiseBiomeSourceMixin] -> DensityFunctions$Spline$Point
    33 MB/s   4.2%   modernfix                 305 samples
        73%  org.embeddedt.modernfix.world.gen.PrefetchingBlockColumn.setBlock:113 -> CallbackInfoReturnable
    19 MB/s   2.5%   xaeroworldmap             96 samples
        70%  xaero.map.misc.ConsistentBitArray.<init>:30 -> [J
        13%  xaero.map.MapWriter.loadPixelHelp:843 -> CallbackInfoReturnable
    17 MB/s   2.2%   revelationfix             136 samples
        15%  com.mega.revelationfix.common.structures.FrostyardGenerationProtection$Context.collect:127 -> HashMap$EntryIterator
        13%  com.mega.revelationfix.common.structures.FrostyardGenerationProtection$Context.collect:123 -> Long
        11%  com.mega.revelationfix.common.structures.FrostyardGenerationProtection$Context.collect:127 -> Collections$UnmodifiableMap
    14 MB/s   1.8%   terrablender              135 samples
        45%  terrablender.worldgen.noise.Area.get -> 231131856
        9.7%  terrablender.worldgen.surface.NamespacedSurfaceRuleSource.lambda$apply$1:54 -> SurfaceRules$TestRule
        8.8%  terrablender.worldgen.surface.NamespacedSurfaceRuleSource.lambda$apply$1:54 -> SurfaceRules$NoiseThresholdConditionSource$1NoiseThresholdCondition
    14 MB/s   1.8%   immediatelyfast           52 samples
        27%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.lambda$addNewFallbackBuffer$1:188 -> [J
        9.6%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.lambda$addNewFallbackBuffer$1:188 -> Object;
        7.7%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.<init>:40 -> [J

INTEGRATED SERVER (single player; this is world lag, not FPS)
  1,262 ticks, mspt mean 6.98 ms, p50 5.70 ms, p95 10 ms, worst 632 ms, 5 over 50 ms
    1.81 ms/tick  26%    minecraft (vanilla)       
    0.80 ms/tick  11%    collections_of_optimizations ServerLevel.coo$growthTick:10142 [mixin modifyExpressionValue from com.misanthropy.collections_of_optimizations.mixin.immersiveweathering.MixinServerLevelGrowthTick]
    0.73 ms/tick  10%    fastchunkgen              ServerChunkCache.beforeAwaitChunk:6611 [mixin redirect from com.misanthropy.fastchunkgen.base.mixin.priority.MixinServerChunkManager]
    0.45 ms/tick  6.4%   forge (loader, events)    
    0.31 ms/tick  4.4%   servercore                NaturalSpawner.servercore$fastBiomeLookup:2025 [mixin redirect from me.wesley1808.servercore.mixin.optimizations.biome_lookups.NaturalSpawnerMixin]
    0.24 ms/tick  3.5%   l2hostility               dev.xkmc.l2hostility.events.CapabilityEvents.onStartTrackingChunk:135
    0.20 ms/tick  2.9%   radium                    ServerLevel.redirectBlockStateTick:4159 [mixin redirect from me.jellysquid.mods.lithium.mixin.alloc.chunk_random.ServerWorldMixin]
    0.19 ms/tick  2.7%   bosses_of_mass_destruction NaturalSpawner.canSpawn:1521 [mixin handler from com.cerbon.bosses_of_mass_destruction.mixin.NaturalSpawnerMixin]

THREADS (exact CPU per thread group; 'runs' = what JFR saw executing on it)
  the game used 6.36 of 16 cores, whole machine 63% busy
  cores  n    allocated   group                            runs
  4.61   25   31.2 GB     FastChunkGen worker ##           lithoform 51%, fastchunkgen 16%, alexscaves 12%
  0.70   1    8.0 GB      Render thread                    xaeroworldmap 26%, collections_of_optimizations 11%, punchy 10%
  0.32   15   3.6 GB      ForkJoinPool.commonPool-worker-# lithoform 57%, biomeswevegone 8.9%, integrated_api 8.8%
  0.15   1    3.1 GB      Server thread                    minecraft 33%, byepregen 13%, servercore 11%
  0.15   10   57 MB       Flywheel Task Executor ##        flywheel 100%
  0.13   1    528 MB      Linggango Streams                lithoform 89%, linggango_tweaks 5.8%
  0.08   6    254 MB      Lumenite light #                 lumenite 96%
  0.03   15   35 MB       Worker-Main-#                    minecraft 63%, jdk 37%
  0.02   1    1 MB        whatslaggin-threads              too few samples

ENTITIES, BLOCK ENTITIES, SCREENS (exact timings; per second of recording)
  entity render:
    1.71 ms/s  64/s     27 us    terramity:green_fairy                       worst 0.86 ms at 2475, 70, 767
  entity tick:
    20 ms/s    20/s     997 us   minecraft:player                            worst 11 ms at 59986, 199, 60000
  server entity tick:
    1.90 ms/s  48/s     39 us    minecraft:item                              worst 0.63 ms at 59626, 37, 59913
    1.85 ms/s  12/s     149 us   minecraft:player                            worst 1.10 ms at 59800, 200, 60000
    1.52 ms/s  98/s     15 us    minecraft:falling_block                     worst 0.84 ms at 59790, -40, 59999
  screen:
    2.62 ms/s  33/s     79 us    net.minecraft.client.gui.screens.ChatScreen worst 1.03 ms

JVM AND I/O
  class loads over 1 ms: 189 (532 ms), on the render/server thread 19 (37 ms)
  render thread lock: 125 ms in 40 events, flywheel at dev.engine_room.flywheel.impl.task.ThreadGroupNotifier.postNotification:16 (ThreadGroupNotifier)
  non-GC safepoints: 30 ms total (last: ThreadDump)
  log output: 0.5 lines/s
  exceptions thrown: 23.1/s, top: 1.2/s  NoSuchFileException from modernfix at ModelManager.lambda$deferBlockStateLoad$3:568 [mixin merged from org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.ModelManagerMixin]

MOD VERSIONS (mods named in the findings)
  xaeroworldmap 1.46.0;  immediatelyfast 1.5.5+1.20.4;  embeddium 0.3.32-beta.113-dirty+mc1.20.1;  punchy 2.8c;  
  gnetum 2.5.1+1.20.1-forge;  linggango_tweaks 7.34;  fastchunkgen 0.37;  collections_of_optimizations 5.32;  
  lithoform 2.0.0-alpha12;  ;  

RECORDING
  stack sampler every 5 ms: 12,901 render-thread, 1,501 server-thread samples (server only while ticking)
  JFR on (cpu, allocation, locks, file io, class loading, safepoints, exceptions): 19,677 CPU samples, 18,264 allocation samples
  method names: SRG ids translated to Mojang names; mixin handlers are charged to the mod whose mixin injected them
  'own' = share of a mod's time spent in its own classes; the rest is vanilla or library code it called
