WhatsLaggin report (manual)  31.8 s recorded, ended 2026-10-23 03:04:56
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 12, simulation 7, graphics fancy, shaders off
World minecraft:overworld, 72 entities loaded

VERDICT
  726 fps average (1.38 ms per frame), 1% low 68 fps, 0.1% low 21 fps.
  BALANCED: 1.00 ms CPU plus 0.38 ms waiting on the GPU per frame. Cuts on either side help.
  25 stutters over 20 ms (47.2 per minute), worst 131 ms. Biggest cause: GC pause (G1 Young Generation).

WHAT TO FIX (ranked by time lost per second of play)
  1. [gpu] Partly GPU-bound: 0.38 ms of each 1.38 ms frame waits on the GPU
       Both CPU and GPU cuts help here. CPU work: 1.00 ms per frame.
       Biggest GPU levers: render distance (12), resolution (3440x1440), graphics mode (fancy)
  2. [stutter] Stutter: GC pause (G1 Young Generation)
       8 frames over 20 ms, worst 53 ms, 595 ms of extra frame time per minute
       allocation 724 MB/s; 8 collections, worst 50 ms
       156 MB/s collections_of_optimizations (22%): com.misanthropy.collections_of_optimizations.core.NbtFastLoad.loadCompound:131 -> Object2ObjectOpenHashMap
       115 MB/s minecraft (16%): BlockLightSectionStorage$BlockDataLayerStorageMap.copy:36 -> [J
       112 MB/s fastchunkgen (15%): ChunkMap.lambda$scheduleChunkLoad$3:15032 [mixin merged from com.misanthropy.fastchunkgen.threading.chunkio.mixin.MixinThreadedAnvilChunkStorage] -> DataResult
       Fix: cut allocation at the sites above (reuse objects, avoid streams/boxing in per-tick code).
  3. [stutter] Stutter: lock wait (flywheel)
       4 frames over 20 ms, worst 92 ms, 441 ms of extra frame time per minute
  4. [cpu] embeddium costs 0.082 ms per frame on the render thread
       8.7% of render-thread CPU time, mostly in world, 45% in its own code (rest is vanilla/library code it called)
       50%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:284   <- LevelRenderer.renderChunkLayer:40702
               hot: me.jellysquid.mods.sodium.client.gl.device.GLRenderDevice$ImmediateDrawCommandList.multiDrawElementsBaseVertex:319 (26%), executing GL32C.nglMultiDrawElementsBaseVertex (26%)
       15%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:218   <- LevelRenderer.setupRender:40729
               hot: me.jellysquid.mods.sodium.client.render.chunk.RenderSectionManager.tickVisibleRenders:361 (14%), executing Long2ReferenceOpenHashMap$MapIterator.nextEntry:662 (8.2%)
       8.1%  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.rebuildGeometry:300 (22%), executing FogRenderer$MobEffectFogFunction.isEnabled:350 (11%)
       removing this cost entirely: about 726 -> 772 fps
  5. [tick] Each client tick takes 4.67 ms
       20 ticks a second run inline on the render thread, so 20 frames a second each take 4.67 ms longer than the rest (uneven frame pacing).
       collections_of_optimizations 0.58 ms per tick
       punchy 0.19 ms per tick
       linggango_tweaks 0.28 ms per tick
       xaerominimap 0.13 ms per tick
       pehkui 0.13 ms per tick
  6. [stutter] Stutter: GC pause (G1 Remark/Cleanup, end of a concurrent mark cycle)
       2 frames over 20 ms, worst 74 ms, 256 ms of extra frame time per minute
       allocation 724 MB/s; 8 collections, worst 50 ms
       156 MB/s collections_of_optimizations (22%): com.misanthropy.collections_of_optimizations.core.NbtFastLoad.loadCompound:131 -> Object2ObjectOpenHashMap
       115 MB/s minecraft (16%): BlockLightSectionStorage$BlockDataLayerStorageMap.copy:36 -> [J
       112 MB/s fastchunkgen (15%): ChunkMap.lambda$scheduleChunkLoad$3:15032 [mixin merged from com.misanthropy.fastchunkgen.threading.chunkio.mixin.MixinThreadedAnvilChunkStorage] -> DataResult
       Fix: cut allocation at the sites above (reuse objects, avoid streams/boxing in per-tick code).
  7. [stutter] Stutter: linggango_tweaks: com.misanthropy.linggango.linggango_tweaks.foliage.particle.Billboard.vertex
       1 frames over 20 ms, worst 131 ms, 246 ms of extra frame time per minute
  8. [cpu] xaeroworldmap costs 0.055 ms per frame on the render thread
       5.8% of render-thread CPU time, mostly in no phase, 63% in its own code (rest is vanilla/library code it called)
       93%  xaero.map.events.ClientEventsForge.renderTick:32   <- Minecraft.runTick:1148
               hot: xaero.map.graphics.TextureUploader.uploadTextures:118 (15%), executing GL11C.glFinish (17%)
       5.8%  Minecraft.onRunTickStart:36455 [mixin handler from xaero.map.mixin.MixinForgeMinecraftClient]   <- Minecraft.runTick
               hot: xaero.map.region.texture.RegionTexture.setBiome:679 (62%)
       removing this cost entirely: about 726 -> 756 fps
  9. [cpu] immediatelyfast costs 0.055 ms per frame on the render thread
       5.8% of render-thread CPU time, mostly in world, 30% in its own code (rest is vanilla/library code it called)
       55%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116   <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96:327
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (71%), executing RenderStateShard.clearRenderState:41 (9.8%)
       19%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125   <- LevelRenderer.renderLevel:1283
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (33%), executing RenderStateShard.setupRenderState:37 (21%)
       14%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105   <- LevelRenderer.renderLevel:1228
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (73%), executing RenderStateShard.clearRenderState:41 (13%)
       removing this cost entirely: about 726 -> 755 fps
 10. [cpu] collections_of_optimizations costs 0.041 ms per frame on the render thread
       4.4% of render-thread CPU time, mostly in client tick, 82% in its own code (rest is vanilla/library code it called)
       23%  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 (79%), executing Level.getChunk:4541 (5.3%)
       10%  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 (5.9%)
       5.4%  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%)
       removing this cost entirely: about 726 -> 748 fps

FRAMES
  22,988 frames   p50 0.98 ms   p95 3.18 ms   p99 8.39 ms   worst 131 ms
  per frame:  tasks 0.042 ms  client tick 0.13 ms  render 0.71 ms  present 0.39 ms  other 0.11 ms
  inside those:  swap 0.38 ms  world 0.55 ms  hud 0.12 ms  screen 0.007 ms
  client tick: 4.67 ms per tick, 20.0 ticks per second
  GPU busy per frame (timer queries): p50 0.66 ms   p95 1.64 ms   p99 2.46 ms
  GPU time per pass (mean per frame, each pass also holds what mods drew at the stage before it):
    0.023 ms  2.9%  sky and frame setup   (p95 0.031 ms)
    0.13 ms  16%  solid terrain   (p95 0.29 ms)
    0.026 ms  3.2%  cutout mipped terrain   (p95 0.035 ms)
    0.000 ms  <0.1%  cutout terrain   (p95 0.002 ms)
    0.020 ms  2.5%  entities   (p95 0.045 ms)
    0.000 ms  <0.1%  block entities   (p95 0.002 ms)
    0.049 ms  6.2%  translucent terrain   (p95 0.30 ms)
    0.000 ms  <0.1%  tripwire   (p95 0.002 ms)
    0.001 ms  <0.1%  particles   (p95 0.004 ms)
    0.044 ms  5.6%  weather and clouds   (p95 0.088 ms)
    0.000 ms  <0.1%  end of level render   (p95 0.002 ms)
    0.22 ms  27%  hand and post effects   (p95 0.35 ms)
    0.16 ms  20%  hud   (p95 0.25 ms)
    0.13 ms  17%  screens and rest of frame   (p95 0.47 ms)

RENDER THREAD CPU BY MOD (sampled; excludes GPU wait, fps limiter and blocked time)
  5,610 samples: CPU work 68%, GPU wait 32%, limiter 0.0%, blocked on other threads 0.1%
  mods caused 77% of render-thread CPU work, vanilla/forge/driver the rest
  17% 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.12 ms   13%    84%   minecraft (vanilla)          world
  0.093 ms  9.9%   100%  forge (loader, events)       world
  0.082 ms  8.7%   45%   embeddium                    world
  0.055 ms  5.8%   63%   xaeroworldmap                no phase
  0.055 ms  5.8%   30%   immediatelyfast              world
  0.041 ms  4.4%   82%   collections_of_optimizations client tick
  0.040 ms  4.2%   28%   gnetum                       hud
  0.039 ms  4.1%   73%   punchy                       world
  0.037 ms  3.9%   32%   linggango_tweaks             world
  0.025 ms  2.6%   19%   oculus                       world
  0.021 ms  2.2%   4.7%  whatslaggin                  world
  0.019 ms  2.0%   55%   brute_force_culling_revived  world
  0.016 ms  1.7%   29%   asyncparticles               world
  0.016 ms  1.7%   86%   flywheel                     world
  0.015 ms  1.6%   61%   xaerolib                     no phase
  0.27 ms   137 more below 0.5% each

HOT PATHS (where each mod's render-thread time goes; SRG names translated; <- = called from)
  minecraft (vanilla)  0.12 ms/frame, 13%, hottest vanilla methods:
    9.6%  EntityRenderDispatcher.getRenderer:530  <- me.decce.ixeris.RenderThreadStarter.run:39
    9.0%  BlockState.getLightBlock:617  <- me.decce.ixeris.RenderThreadStarter.run:39
          executing ThreadLocal$ThreadLocalMap.set 50%
    7.6%  Entity.shouldRender:1562  <- me.decce.ixeris.RenderThreadStarter.run:39
  embeddium  0.082 ms/frame, 8.7%
    50%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:284  <- LevelRenderer.renderChunkLayer:40702
          hot me.jellysquid.mods.sodium.client.gl.device.GLRenderDevice$ImmediateDrawCommandList.multiDrawElementsBaseVertex:319 26%
          executing GL32C.nglMultiDrawElementsBaseVertex 26%
    15%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:218  <- LevelRenderer.setupRender:40729
          hot me.jellysquid.mods.sodium.client.render.chunk.RenderSectionManager.tickVisibleRenders:361 14%
          executing Long2ReferenceOpenHashMap$MapIterator.nextEntry:662 8.2%
    8.1%  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.rebuildGeometry:300 22%
          executing FogRenderer$MobEffectFogFunction.isEnabled:350 11%
  xaeroworldmap  0.055 ms/frame, 5.8%
    93%   xaero.map.events.ClientEventsForge.renderTick:32  <- Minecraft.runTick:1148
          hot xaero.map.graphics.TextureUploader.uploadTextures:118 15%
          executing GL11C.glFinish 17%
    5.8%  Minecraft.onRunTickStart:36455 [mixin handler from xaero.map.mixin.MixinForgeMinecraftClient]  <- Minecraft.runTick
          hot xaero.map.region.texture.RegionTexture.setBiome:679 62%
  immediatelyfast  0.055 ms/frame, 5.8%
    55%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96:327
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 71%
          executing RenderStateShard.clearRenderState:41 9.8%
    19%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125  <- LevelRenderer.renderLevel:1283
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 33%
          executing RenderStateShard.setupRenderState:37 21%
    14%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105  <- LevelRenderer.renderLevel:1228
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 73%
          executing RenderStateShard.clearRenderState:41 13%
  collections_of_optimizations  0.041 ms/frame, 4.4%
    23%   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 79%
          executing Level.getChunk:4541 5.3%
    10%   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 5.9%
    5.4%  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%
  gnetum  0.040 ms/frame, 4.2%
    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] 39%
          executing ASMEventHandler.invoke:55 20%
  punchy  0.039 ms/frame, 4.1%
    85%   ItemInHandRenderer.punchy$renderFirstPersonModel:1160 [mixin handler from punchy.mixin.client.ItemInHandRendererMixin]  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96
          hot punchy.client.state.MovementStateMachine.endRenderSample:419 5.2%
          executing Player.getItemBySlot 7.5%
    13%   punchy.platform.ForgeClientPlatform.onClientTick:109  <- Minecraft.tick:1875
          hot punchy.client.animation.PunchyThirdPersonAnimationManager.tick:34 4.8%
          executing Player.getItemBySlot 9.5%
  linggango_tweaks  0.037 ms/frame, 3.9%
    30%   com.misanthropy.linggango.linggango_tweaks.lumalight.LumalightClient.onRenderLevel:91  <- GameRenderer.renderLevel:1128
          hot com.misanthropy.linggango.linggango_tweaks.lumalight.PostEffectRenderer.draw:210 34%
          executing GL45C.glBlitNamedFramebuffer 14%
    14%   snownee.jade.util.ClientProxy.lambda$init$0:113  <- ForgeGui.gnetum$postEvent:3138 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin]
          hot snownee.jade.overlay.DisplayHelper.drawText:429 19%
          executing VertexConsumer.color:47 19%
    11%   com.misanthropy.linggango.linggango_tweaks.client.DynamicCrosshairHandler.onRenderCrosshair:205  <- ForgeGui.gnetum$postEvent:3130 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin]
          executing GL20C.glUseProgram 24%

STUTTERS (frames over 20 ms, grouped by what was happening during them)
  frames  worst     extra/min   cause
  8       53 ms     595 ms      GC pause (G1 Young Generation)
  4       92 ms     441 ms      lock wait (flywheel)
  2       74 ms     256 ms      GC pause (G1 Remark/Cleanup, end of a concurrent mark cycle)
  1       131 ms    246 ms      linggango_tweaks: com.misanthropy.linggango.linggango_tweaks.foliage.particle.Billboard.vertex
  2       49 ms     173 ms      unexplained (render)
  2       46 ms     124 ms      unexplained (present)
  2       29 ms     94 ms       unexplained (client tick)
  1       42 ms     78 ms       subtle_effects: einstein.subtle_effects.particle.DropletParticle$Provider.createParticle
  1       29 ms     54 ms       geckolib: software.bernie.geckolib.core.animatable.model.CoreGeoBone.saveSnapshot
  1       24 ms     44 ms       vanilla minecraft: BlockState.getLightBlock
  1       23 ms     42 ms       pehkui: virtuoel.pehkui.api.ScaleType.getScaleData

  worst frames:
  03:04:41.506  131 ms   render 131 ms         linggango_tweaks: com.misanthropy.linggango.linggango_tweaks.foliage.particle.Billboard.vertex
                             1 of 2 samples, hottest line net.irisshaders.iris.gl.IrisRenderSystem$DSAARB.bindTextureToUnit:569
  03:04:36.572  92 ms    render 92 ms          lock wait (flywheel)
                             90 ms blocked on a monitor held by another thread
  03:04:49.713  74 ms    present 73 ms         GC pause (G1 Remark/Cleanup, end of a concurrent mark cycle)
                             72 ms of the frame was a stop-the-world collection
  03:04:30.707  64 ms    client tick 61 ms     GC pause (G1 Remark/Cleanup, end of a concurrent mark cycle)
                             48 ms of the frame was a stop-the-world collection
  03:04:36.441  59 ms    render 55 ms          lock wait (flywheel)
                             53 ms blocked on a monitor held by another thread
  03:04:34.076  53 ms    render 52 ms          GC pause (G1 Young Generation)
                             50 ms of the frame was a stop-the-world collection
  03:04:29.668  49 ms    render 48 ms          unexplained (render)
                             10 samples, no single owner
  03:04:56.329  47 ms    present 46 ms         GC pause (G1 Young Generation)
                             46 ms of the frame was a stop-the-world collection
  03:04:40.654  46 ms    present 44 ms         unexplained (present)
                             0 stack samples landed inside this frame, too few to name a cause
  03:04:38.747  45 ms    render 45 ms          unexplained (render)
                             0 stack samples landed inside this frame, too few to name a cause

MEMORY AND GC
  allocated 22.4 GB (724 MB/s, exact, all threads), max heap 10.0 GB
  8 GC pauses (0 old/full), 288 ms paused (0.9%), worst 50 ms, one every 4.0 s
  longest pauses:
    03:04:34.074  50 ms  G1 Young Generation, G1 Evacuation Pause
    03:04:56.329  46 ms  G1 Young Generation, G1 Evacuation Pause
    03:04:33.816  37 ms  G1 Young Generation, GCLocker Initiated GC
    03:04:56.032  36 ms  G1 Young Generation, G1 Evacuation Pause
    03:04:48.269  35 ms  G1 Young Generation, G1 Evacuation Pause
    03:04:28.278  32 ms  G1 Young Generation, GCLocker Initiated GC
    03:04:44.126  32 ms  G1 Young Generation, GCLocker Initiated GC
    03:04:39.310  20 ms  G1 Young Generation, G1 Evacuation Pause
  3 Remark/Cleanup pauses (concurrent mark cycles, not in the count above), 122 ms paused, worst 72 ms
  heap after GC 4.3 GB (43% of max, old garbage stays until the next marking cycle), changed by -98660352 B over the recording
  by mod (JFR samples scaled to each thread's exact allocation; 98% of bytes covered):
    156 MB/s  22%    collections_of_optimizations 1,165 samples
        10%  com.misanthropy.collections_of_optimizations.core.NbtFastLoad.loadCompound:131 -> Object2ObjectOpenHashMap
        9.8%  com.misanthropy.collections_of_optimizations.core.NbtFastLoad.loadCompound:131 -> Object;
        9.0%  com.misanthropy.collections_of_optimizations.core.NbtFastLoad.readValue:168 -> [B
    115 MB/s  16%    minecraft (vanilla)       1,566 samples
        8.5%  BlockLightSectionStorage$BlockDataLayerStorageMap.copy:36 -> [J
        7.2%  SkyLightSectionStorage$SkyDataLayerStorageMap.copy:164 -> [J
        5.7%  SkyLightSectionStorage$SkyDataLayerStorageMap.copy:164 -> Object;
    112 MB/s  15%    fastchunkgen              789 samples
        8.5%  ChunkMap.lambda$scheduleChunkLoad$3:15032 [mixin merged from com.misanthropy.fastchunkgen.threading.chunkio.mixin.MixinThreadedAnvilChunkStorage] -> DataResult
        6.9%  NoiseChunk.lambda$wrap$0:4484 [mixin merged from com.misanthropy.fastchunkgen.opts.worldgen.vanilla.mixin.noise_chunk_wrap.MixinNoiseChunk] -> [D
        5.6%  com.misanthropy.fastchunkgen.base.common.util.InvokingExecutorService.execute:88 -> Double
    54 MB/s   7.4%   lithoform                 384 samples
        12%  com.misanthropy.lithoform.bowl.Special3D.fillArray:23 -> [D
        9.6%  com.misanthropy.lithoform.bowl.Special3D.compute:18 -> DensityFunctions$Spline$Point
        9.2%  com.misanthropy.lithoform.bowl.Special3D.fillArray:23 -> DensityFunctions$Spline$Point
    28 MB/s   3.8%   linggango_tweaks          438 samples
        9.6%  com.misanthropy.linggango.linggango_tweaks.tweak.streams.WaterSolver.levels:204 -> [J
        6.6%  com.misanthropy.linggango.linggango_tweaks.tweak.streams.StreamSites.region:71 -> 2054442946
    23 MB/s   3.1%   radium                    177 samples
        46%  CompoundTag.useFasterCollection:1129 [mixin modify from me.jellysquid.mods.lithium.mixin.alloc.nbt.NbtCompoundMixin] -> Object;
        13%  CompoundTag.useFasterCollection:1129 [mixin modify from me.jellysquid.mods.lithium.mixin.alloc.nbt.NbtCompoundMixin] -> Object2ObjectOpenHashMap
    19 MB/s   2.6%   xaeroworldmap             90 samples
        18%  xaero.map.file.worldsave.WorldDataReader.lambda$buildRegion$1:150 -> DataResult
        18%  xaero.map.file.worldsave.WorldDataReader.lambda$buildRegion$1:150 -> Optional
        13%  xaero.map.misc.ConsistentBitArray.<init>:30 -> [J
    16 MB/s   2.2%   modernfix                 182 samples
        41%  org.embeddedt.modernfix.world.gen.PrefetchingBlockColumn.setBlock:113 -> CallbackInfoReturnable
        10.0%  org.embeddedt.modernfix.structure.CachingStructureManager.readStructure:39 -> BlockPos
        9.6%  org.embeddedt.modernfix.structure.CachingStructureManager.readStructure:39 -> StructureTemplate$StructureBlockInfo
    15 MB/s   2.1%   biomeswevegone            99 samples
        18%  net.potionstudios.biomeswevegone.world.level.levelgen.surfacerules.WeightedRuleSource.apply:31 -> SurfaceRules$StoneDepthCheck$1StoneDepthCondition
        11%  net.potionstudios.biomeswevegone.world.level.levelgen.surfacerules.WeightedRuleSource.apply:31 -> SurfaceRules$TestRule
        9.5%  net.potionstudios.biomeswevegone.world.level.levelgen.surfacerules.WeightedRuleSource.apply:31 -> Iterators$ArrayItr
    15 MB/s   2.0%   embeddium                 514 samples
        14%  me.jellysquid.mods.sodium.client.render.chunk.compile.tasks.ChunkBuilderMeshingTask.execute:137 -> Iterators$9
        12%  me.jellysquid.mods.sodium.client.world.biome.BiomeColorCache.updateColorBuffers:100 -> 292185938
        11%  me.jellysquid.mods.sodium.client.world.biome.BiomeColorCache.updateColorBuffers:100 -> 545176618

INTEGRATED SERVER (single player; this is world lag, not FPS)
  635 ticks, mspt mean 17 ms, p50 13 ms, p95 38 ms, worst 160 ms, 17 over 50 ms
    4.12 ms/tick  24%    minecraft (vanilla)       
    1.14 ms/tick  6.7%   forge (loader, events)    
    1.09 ms/tick  6.4%   collections_of_optimizations ServerLevel.coo$growthTick:10142 [mixin modifyExpressionValue from com.misanthropy.collections_of_optimizations.mixin.immersiveweathering.MixinServerLevelGrowthTick]
    0.79 ms/tick  4.7%   alexsmobs                 com.github.alexthe666.alexsmobs.entity.EntityLeafcutterAnt.tick:260
    0.69 ms/tick  4.0%   radium                    EntitySectionStorage.forEachInBox:555 [mixin handler from me.jellysquid.mods.lithium.mixin.entity.fast_retrieval.SectionedEntityCacheMixin]
    0.55 ms/tick  3.2%   mowziesmobs               com.bobmowzie.mowziesmobs.server.entity.elokosa.EntityElokosaFollowerToHowler.tick:29
    0.42 ms/tick  2.5%   terramity                 net.mcreator.terramity.entity.GreenFairyEntity.aiStep:213
    0.41 ms/tick  2.4%   pehkui                    Entity.pehkui$tick:38737 [mixin handler from virtuoel.pehkui.mixin.EntityMixin]

THREADS (exact CPU per thread group; 'runs' = what JFR saw executing on it)
  the game used 4.59 of 16 cores, whole machine 69% busy
  cores  n    allocated   group                            runs
  2.12   12   9.8 GB      FastChunkGen worker ##           lithoform 37%, collections_of_optimizations 18%, biomeswevegone 15%
  0.66   1    3.1 GB      Render thread                    xaeroworldmap 18%, minecraft 11%, collections_of_optimizations 10%
  0.42   15   2.7 GB      ForkJoinPool.commonPool-worker-# lithoform 64%, mowziesmobs 9.6%, integrated_api 5.9%
  0.38   1    877 MB      Linggango Streams                lithoform 64%, linggango_tweaks 33%
  0.33   1    2.8 GB      Server thread                    minecraft 27%, collections_of_optimizations 6.4%
  0.19   10   616 MB      Chunk Render Task Executor ##    embeddium 44%, minecraft 30%, linggango_tweaks 7.8%
  0.10   10   18 MB       Flywheel Task Executor ##        flywheel 100%
  0.08   21   240 MB      Thread-#                         xaeroworldmap 65%, minecraft 28%
  0.08   6    77 MB       Lumenite light #                 lumenite 86%, minecraft 14%
  0.03   1    356 MB      JFR Event Stream #               no JFR samples (idle or native)
  0.03   15   28 MB       Worker-Main-#                    minecraft 60%, jdk 35%, forge 5.0%
  0.03   1    163 KB      spark-monitoring-thread          no JFR samples (idle or native)

ENTITIES, BLOCK ENTITIES, SCREENS (exact timings; per second of recording)
  entity render:
    6.81 ms/s  110/s    62 us    alexsmobs:leafcutter_ant                    worst 11 ms at 1490, 190, 787
    4.45 ms/s  322/s    14 us    minecraft:item                              worst 5.99 ms at 1474, 199, 792
    3.26 ms/s  21/s     158 us   primitive_mobs:chameleon                    worst 50 ms at 1390, 197, 764
    2.56 ms/s  21/s     124 us   terramity:green_fairy                       worst 3.69 ms at 1281, 190, 775
    2.14 ms/s  33/s     66 us    alexsmobs:komodo_dragon                     worst 4.23 ms at 1195, 161, 750
  entity tick:
    17 ms/s    20/s     849 us   minecraft:player                            worst 8.33 ms at 1490, 200, 778
    2.58 ms/s  94/s     27 us    minecraft:item                              worst 4.19 ms at 1460, 183, 771
    2.04 ms/s  40/s     51 us    alexsmobs:leafcutter_ant                    worst 2.63 ms at 1497, 191, 788
  server entity tick:
    17 ms/s    207/s    81 us    terramity:green_fairy                       worst 3.38 ms at 1477, 222, 812
    14 ms/s    538/s    26 us    minecraft:item                              worst 4.83 ms at 1375, 260, 863
    13 ms/s    80/s     160 us   alexsmobs:leafcutter_ant                    worst 50 ms at 1410, 274, 837
    5.94 ms/s  44/s     136 us   hexerei:crow                                worst 3.35 ms at 1306, 179, 700
    4.21 ms/s  17/s     254 us   minecraft:player                            worst 20 ms at 1300, 200, 776
    4.07 ms/s  16/s     258 us   mowziesmobs:elokosa_follower_howler         worst 4.11 ms at 1261, 225, 821
    3.42 ms/s  21/s     162 us   alexsmobs:anteater                          worst 4.12 ms at 1349, 243, 843
    2.93 ms/s  29/s     102 us   alexsmobs:toucan                            worst 3.54 ms at 1186, 154, 722
  server block entity tick:
    1.80 ms/s  2,989/s  1 us     minecraft:sculk_sensor                      worst 0.93 ms at 1434, -25, 756
    0.64 ms/s  791/s    1 us     minecraft:sculk_catalyst                    worst 2.57 ms at 1550, 19, 795
  screen:
    4.79 ms/s  74/s     65 us    net.minecraft.client.gui.screens.ChatScreen worst 1.31 ms

JVM AND I/O
  class loads over 1 ms: 415 (1.2 s), on the render/server thread 137 (368 ms)
    by owner: minecraft 164 classes, 435 ms; saintsdragons 39 classes, 96 ms; byepregen 11 classes, 62 ms; library 13 classes, 58 ms; linggango_fixes 19 classes, 57 ms
  render thread lock: 341 ms in 28 events, flywheel at dev.engine_room.flywheel.impl.task.ThreadGroupNotifier.postNotification:16 (ThreadGroupNotifier)
  render thread lock: 7.10 ms in 1 events, geckolib at software.bernie.geckolib.core.animatable.model.CoreGeoBone.saveSnapshot:117 (ArrayList)
  non-GC safepoints: 5.92 ms total (last: ThreadDump)
  log output: 3.7 lines/s, top: 3.4/s  net.minecraft.world.level.chunk.storage.ChunkSerializer
  exceptions thrown: 83.2/s, top: 3.7/s  UnionFileSystem$UncheckedIOException 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)
  embeddium 0.3.32-beta.113-dirty+mc1.20.1;  xaeroworldmap 1.46.0;  immediatelyfast 1.5.5+1.20.4;  
  collections_of_optimizations 5.5;  gnetum 2.5.1+1.20.1-forge;  punchy 2.8c;  linggango_tweaks 7.38;  
  xaerominimap 26.5.0;  pehkui 3.8.2+1.20.1-forge;  fastchunkgen 0.38;  ;  flywheel 1.0.5;  

RECORDING
  stack sampler every 5 ms: 5,610 render-thread, 1,735 server-thread samples (server only while ticking)
  JFR on (cpu, allocation, locks, file io, class loading, safepoints, exceptions): 6,767 CPU samples, 8,075 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
