WhatsLaggin report (manual)  30.9 s recorded, ended 2026-10-23 04:44:28
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, 139 entities loaded

VERDICT
  985 fps average (1.01 ms per frame), 1% low 188 fps, 0.1% low 93 fps.
  BALANCED: 0.64 ms CPU plus 0.37 ms waiting on the GPU per frame. Cuts on either side help.
  4 stutters over 20 ms (7.8 per minute), worst 40 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.37 ms of each 1.01 ms frame waits on the GPU
       Both CPU and GPU cuts help here. CPU work: 0.64 ms per frame.
       Biggest GPU levers: render distance (12), resolution (3440x1440), graphics mode (fancy)
  2. [cpu] embeddium costs 0.069 ms per frame on the render thread
       11% of render-thread CPU time, mostly in world, 46% in its own code (rest is vanilla/library code it called)
       66%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:284   <- LevelRenderer.renderChunkLayer:40702
               hot: me.jellysquid.mods.sodium.client.render.chunk.DefaultChunkRenderer.fillCommandBuffer:165 (36%), executing GL32C.nglMultiDrawElementsBaseVertex (26%)
       8.3%  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 (26%), executing FogRenderer$MobEffectFogFunction.isEnabled:350 (20%)
       6.0%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:218   <- LevelRenderer.setupRender:40729
               hot: me.jellysquid.mods.sodium.client.render.chunk.region.RenderRegionManager.update:51 (56%), executing PriorityQueue.isEmpty:63 (8.0%)
       removing this cost entirely: about 985 -> 1058 fps
  3. [cpu] immediatelyfast costs 0.041 ms per frame on the render thread
       6.5% of render-thread CPU time, mostly in world, 28% in its own code (rest is vanilla/library code it called)
       49%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116   <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96:327
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (77%), executing GL11C.glBindTexture (9.2%)
       18%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125   <- LevelRenderer.renderLevel:1283
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (57%), executing RenderStateShard.clearRenderState:41 (16%)
       15%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105   <- LevelRenderer.renderLevel:1338
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (84%), executing RenderStateShard.setupRenderState:37 (18%)
       removing this cost entirely: about 985 -> 1027 fps
  4. [stutter] Stutter: GC pause (G1 Young Generation)
       3 frames over 20 ms, worst 40 ms, 187 ms of extra frame time per minute
       allocation 253 MB/s; 3 collections, worst 37 ms
       32 MB/s collections_of_optimizations (13%): com.misanthropy.collections_of_optimizations.core.NbtFastLoad.loadCompound:131 -> Object;
       31 MB/s lithoform (12%): com.misanthropy.lithoform.bowl.Special3D.fillArray:23 -> DensityFunctions$Spline$Point
       23 MB/s minecraft (9.2%): PoseStack.<init>:15 -> Object;
       Fix: cut allocation at the sites above (reuse objects, avoid streams/boxing in per-tick code).
  5. [cpu] linggango_tweaks costs 0.030 ms per frame on the render thread
       4.8% of render-thread CPU time, mostly in world, 22% in its own code (rest is vanilla/library code it called)
       25%  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 (20%), executing VertexConsumer.color:47 (28%)
       24%  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 (23%)
       14%  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:150 (4.0%), executing RenderSystem.setShader:1209 (20%)
       removing this cost entirely: about 985 -> 1015 fps
  6. [cpu] collections_of_optimizations costs 0.023 ms per frame on the render thread
       3.7% of render-thread CPU time, mostly in world, 66% in its own code (rest is vanilla/library code it called)
       16%  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:142 (36%), executing Level.getGameTime:729 (36%)
       9.9%  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 (14%)
       9.2%  LevelRenderer.coo$replayOutlineEdges:19601 [mixin wrapOperation from com.misanthropy.collections_of_optimizations.mixin.vanilla.MixinLevelRendererOutlineEdges]   <- LevelRenderer.renderShape:2283
               executing VertexConsumer.color:47 (46%)
       removing this cost entirely: about 985 -> 1008 fps
  7. [cpu] oculus costs 0.023 ms per frame on the render thread
       3.7% of render-thread CPU time, mostly in world, 14% in its own code (rest is vanilla/library code it called)
       28%  GlStateManager.iris$modify:2835 [mixin redirect from net.irisshaders.iris.mixin.MixinGlStateManager_DepthColorOverride]   <- GlStateManager._drawElements:718
               executing GL11C.nglDrawElements (100%)
       25%  LevelRenderer.iris$renderTranslucentAfterDeferred:18140 [mixin redirect from net.irisshaders.iris.mixin.fantastic.MixinLevelRenderer]   <- LevelRenderer.renderLevel:1381
               hot: ParticleEngine.iris$changeParticleShader:6172 [mixin redirect from net.irisshaders.iris.mixin.fantastic.MixinParticleEngine] (5.9%), executing ParticleEngine.render:3241 (29%)
       20%  GameRenderer.iris$disableVanillaHandRendering:8534 [mixin redirect from net.irisshaders.iris.mixin.MixinGameRenderer]   <- GameRenderer.renderItemInHand:852
               hot: net.irisshaders.iris.gl.IrisRenderSystem$DSAARB.bindTextureToUnit:569 (18%), executing ASMEventHandler.invoke:55 (32%)
       removing this cost entirely: about 985 -> 1008 fps
  8. [cpu] gnetum costs 0.023 ms per frame on the render thread
       3.7% of render-thread CPU time, mostly in hud, 33% 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] (46%), executing ASMEventHandler.invoke:55 (24%)
       removing this cost entirely: about 985 -> 1008 fps

FRAMES
  30,409 frames   p50 0.88 ms   p95 1.34 ms   p99 4.19 ms   worst 40 ms
  per frame:  tasks 0.006 ms  client tick 0.067 ms  render 0.53 ms  present 0.38 ms  other 0.036 ms
  inside those:  swap 0.37 ms  world 0.41 ms  hud 0.095 ms  screen 0.003 ms
  client tick: 3.28 ms per tick, 20.2 ticks per second
  GPU busy per frame (timer queries): p50 0.66 ms   p95 0.93 ms   p99 1.18 ms
  GPU time per pass (mean per frame, each pass also holds what mods drew at the stage before it):
    0.022 ms  3.1%  sky and frame setup   (p95 0.024 ms)
    0.22 ms  32%  solid terrain   (p95 0.36 ms)
    0.018 ms  2.6%  cutout mipped terrain   (p95 0.020 ms)
    0.000 ms  <0.1%  cutout terrain   (p95 0.003 ms)
    0.017 ms  2.5%  entities   (p95 0.020 ms)
    0.000 ms  <0.1%  block entities   (p95 0.002 ms)
    0.002 ms  0.3%  translucent terrain   (p95 0.012 ms)
    0.000 ms  <0.1%  tripwire   (p95 0.002 ms)
    0.004 ms  0.6%  particles   (p95 0.004 ms)
    0.023 ms  3.2%  weather and clouds   (p95 0.025 ms)
    0.000 ms  <0.1%  end of level render   (p95 0.002 ms)
    0.19 ms  27%  hand and post effects   (p95 0.20 ms)
    0.12 ms  17%  hud   (p95 0.13 ms)
    0.089 ms  13%  screens and rest of frame   (p95 0.16 ms)

RENDER THREAD CPU BY MOD (sampled; excludes GPU wait, fps limiter and blocked time)
  6,160 samples: CPU work 61%, GPU wait 39%, limiter 0.0%, blocked on other threads <0.1%
  mods caused 75% of render-thread CPU work, vanilla/forge/driver the rest
  20% of CPU work is inside OpenGL calls (driver work or a GPU sync), mostly glMultiDrawElementsBaseVertex; the mod that made the call is charged for it below
  ms/frame  share  own   mod                          mostly in
  0.081 ms  13%    87%   minecraft (vanilla)          world
  0.073 ms  12%    100%  forge (loader, events)       world
  0.069 ms  11%    46%   embeddium                    world
  0.041 ms  6.5%   28%   immediatelyfast              world
  0.030 ms  4.8%   22%   linggango_tweaks             world
  0.023 ms  3.7%   66%   collections_of_optimizations world
  0.023 ms  3.7%   14%   oculus                       world
  0.023 ms  3.7%   33%   gnetum                       hud
  0.023 ms  3.6%   78%   punchy                       world
  0.018 ms  2.9%   15%   asyncparticles               world
  0.015 ms  2.4%   7.7%  whatslaggin                  world
  0.011 ms  1.7%   65%   brute_force_culling_revived  world
  0.010 ms  1.6%   82%   geckolib                     world
  0.010 ms  1.6%   93%   xaerominimap                 client tick
  0.009 ms  1.5%   8.8%  let_there_be_atmosphere      world
  0.17 ms   129 more below 0.5% each

HOT PATHS (where each mod's render-thread time goes; SRG names translated; <- = called from)
  minecraft (vanilla)  0.081 ms/frame, 13%, hottest vanilla methods:
    22%   Entity.shouldRender:1562  <- me.decce.ixeris.RenderThreadStarter.run:39
    20%   EntityRenderDispatcher.getRenderer:530  <- me.decce.ixeris.RenderThreadStarter.run:39
    8.6%  LevelRenderer.renderLevel:1198  <- me.decce.ixeris.RenderThreadStarter.run:39
          executing Iterators$1.next:146 9.5%
  embeddium  0.069 ms/frame, 11%
    66%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:284  <- LevelRenderer.renderChunkLayer:40702
          hot me.jellysquid.mods.sodium.client.render.chunk.DefaultChunkRenderer.fillCommandBuffer:165 36%
          executing GL32C.nglMultiDrawElementsBaseVertex 26%
    8.3%  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 26%
          executing FogRenderer$MobEffectFogFunction.isEnabled:350 20%
    6.0%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:218  <- LevelRenderer.setupRender:40729
          hot me.jellysquid.mods.sodium.client.render.chunk.region.RenderRegionManager.update:51 56%
          executing PriorityQueue.isEmpty:63 8.0%
  immediatelyfast  0.041 ms/frame, 6.5%
    49%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96:327
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 77%
          executing GL11C.glBindTexture 9.2%
    18%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125  <- LevelRenderer.renderLevel:1283
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 57%
          executing RenderStateShard.clearRenderState:41 16%
    15%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105  <- LevelRenderer.renderLevel:1338
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 84%
          executing RenderStateShard.setupRenderState:37 18%
  linggango_tweaks  0.030 ms/frame, 4.8%
    25%   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 20%
          executing VertexConsumer.color:47 28%
    24%   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 23%
    14%   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:150 4.0%
          executing RenderSystem.setShader:1209 20%
  collections_of_optimizations  0.023 ms/frame, 3.7%
    16%   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:142 36%
          executing Level.getGameTime:729 36%
    9.9%  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 14%
    9.2%  LevelRenderer.coo$replayOutlineEdges:19601 [mixin wrapOperation from com.misanthropy.collections_of_optimizations.mixin.vanilla.MixinLevelRendererOutlineEdges]  <- LevelRenderer.renderShape:2283
          executing VertexConsumer.color:47 46%
  oculus  0.023 ms/frame, 3.7%
    28%   GlStateManager.iris$modify:2835 [mixin redirect from net.irisshaders.iris.mixin.MixinGlStateManager_DepthColorOverride]  <- GlStateManager._drawElements:718
          executing GL11C.nglDrawElements 100%
    25%   LevelRenderer.iris$renderTranslucentAfterDeferred:18140 [mixin redirect from net.irisshaders.iris.mixin.fantastic.MixinLevelRenderer]  <- LevelRenderer.renderLevel:1381
          hot ParticleEngine.iris$changeParticleShader:6172 [mixin redirect from net.irisshaders.iris.mixin.fantastic.MixinParticleEngine] 5.9%
          executing ParticleEngine.render:3241 29%
    20%   GameRenderer.iris$disableVanillaHandRendering:8534 [mixin redirect from net.irisshaders.iris.mixin.MixinGameRenderer]  <- GameRenderer.renderItemInHand:852
          hot net.irisshaders.iris.gl.IrisRenderSystem$DSAARB.bindTextureToUnit:569 18%
          executing ASMEventHandler.invoke:55 32%
  gnetum  0.023 ms/frame, 3.7%
    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] 46%
          executing ASMEventHandler.invoke:55 24%
  punchy  0.023 ms/frame, 3.6%
    94%   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.4%
          executing Matrix4f.mul:1141 8.5%

STUTTERS (frames over 20 ms, grouped by what was happening during them)
  frames  worst     extra/min   cause
  3       40 ms     187 ms      GC pause (G1 Young Generation)

  worst frames:
  04:44:01.629  40 ms    render 39 ms          GC pause (G1 Young Generation)
                             37 ms of the frame was a stop-the-world collection
  04:44:06.202  35 ms    present 35 ms         GC pause (G1 Young Generation)
                             35 ms of the frame was a stop-the-world collection
  04:44:15.665  24 ms    render 24 ms          GC pause (G1 Young Generation)
                             22 ms of the frame was a stop-the-world collection

MEMORY AND GC
  allocated 7.7 GB (253 MB/s, exact, all threads), max heap 10.0 GB
  3 GC pauses (0 old/full), 94 ms paused (0.3%), worst 37 ms, one every 10.3 s
  longest pauses:
    04:44:01.626  37 ms  G1 Young Generation, G1 Evacuation Pause
    04:44:06.201  35 ms  G1 Young Generation, G1 Evacuation Pause
    04:44:15.663  22 ms  G1 Young Generation, G1 Evacuation Pause
  heap after GC 5.2 GB (52% of max, old garbage stays until the next marking cycle), changed by 114 MB over the recording
  by mod (JFR samples scaled to each thread's exact allocation; 98% of bytes covered):
    32 MB/s   13%    collections_of_optimizations 341 samples
        20%  com.misanthropy.collections_of_optimizations.core.NbtFastLoad.loadCompound:131 -> Object;
        18%  com.misanthropy.collections_of_optimizations.core.NbtFastLoad.loadCompound:131 -> Object2ObjectOpenHashMap
        12%  com.misanthropy.collections_of_optimizations.core.NbtFastLoad.loadList:191 -> Object;
    31 MB/s   12%    lithoform                 418 samples
        16%  com.misanthropy.lithoform.bowl.Special3D.fillArray:23 -> DensityFunctions$Spline$Point
        13%  com.misanthropy.lithoform.bowl.Special3D.fillArray:23 -> [D
        12%  com.misanthropy.lithoform.bowl.Special3D.compute:18 -> DensityFunctions$Spline$Point
    23 MB/s   9.2%   minecraft (vanilla)       506 samples
        3.2%  PoseStack.<init>:15 -> Object;
    21 MB/s   8.3%   linggango_tweaks          285 samples
        8.7%  com.misanthropy.linggango.linggango_tweaks.tweak.streams.WaterSolver.levels:204 -> [J
        8.2%  com.misanthropy.linggango.linggango_tweaks.tweak.streams.StreamMacro.tile:550 -> Long
        5.9%  snownee.jade.overlay.DisplayHelper.drawText:429 -> 1020141552
    12 MB/s   4.8%   punchy                    97 samples
        5.2%  punchy.client.render.ToolKindResolver.isBucket:112 -> Optional
    11 MB/s   4.4%   immediatelyfast           89 samples
        29%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.lambda$addNewFallbackBuffer$1:188 -> [J
        13%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.lambda$addNewFallbackBuffer$1:188 -> Object;
        6.7%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.<init>:53 -> Object;
    9 MB/s    3.7%   structureessentials       74 samples
        33%  StructureTemplate$StructureBlockInfo.onInit:854 [mixin handler from com.structureessentials.mixin.BlockInfoMixin] -> HashMap
        12%  StructureTemplate$StructureBlockInfo.onInit:854 [mixin handler from com.structureessentials.mixin.BlockInfoMixin] -> [B
        11%  StructureTemplate$StructureBlockInfo.onInit:854 [mixin handler from com.structureessentials.mixin.BlockInfoMixin] -> 496245028
    9 MB/s    3.5%   fastchunkgen              116 samples
        68%  NoiseChunk.lambda$wrap$0:4484 [mixin merged from com.misanthropy.fastchunkgen.opts.worldgen.vanilla.mixin.noise_chunk_wrap.MixinNoiseChunk] -> [D
    7 MB/s    2.6%   embeddium                 214 samples
        11%  me.jellysquid.mods.sodium.client.render.chunk.ChunkRenderMatrices.from:11 -> Matrix4f
        9.4%  me.jellysquid.mods.sodium.client.render.vertex.buffer.SodiumBufferBuilder.<init>:41 -> SodiumBufferBuilderPolygonView
        7.5%  BufferBuilder.onFormatChanged:5580 [mixin handler from me.jellysquid.mods.sodium.mixin.core.render.immediate.consumer.BufferBuilderMixin] -> SodiumBufferBuilder
    6 MB/s    2.4%   modernfix                 65 samples
        34%  org.embeddedt.modernfix.structure.CachingStructureManager.readStructure:39 -> BlockPos
        29%  org.embeddedt.modernfix.structure.CachingStructureManager.readStructure:39 -> StructureTemplate$StructureBlockInfo
        22%  org.embeddedt.modernfix.structure.CachingStructureManager.readStructure:39 -> Object;

INTEGRATED SERVER (single player; this is world lag, not FPS)
  623 ticks, mspt mean 8.47 ms, p50 7.54 ms, p95 14 ms, worst 22 ms, 0 over 50 ms
    1.36 ms/tick  16%    minecraft (vanilla)       
    0.89 ms/tick  10%    forge (loader, events)    
    0.70 ms/tick  8.2%   collections_of_optimizations ServerLevel.coo$growthTick:10142 [mixin modifyExpressionValue from com.misanthropy.collections_of_optimizations.mixin.immersiveweathering.MixinServerLevelGrowthTick]
    0.39 ms/tick  4.6%   radium                    EntitySectionStorage.forEachInBox:555 [mixin handler from me.jellysquid.mods.lithium.mixin.entity.fast_retrieval.SectionedEntityCacheMixin]
    0.34 ms/tick  4.1%   alexsmobs                 com.github.alexthe666.alexsmobs.entity.EntityCentipedeBody.tick:70
    0.24 ms/tick  2.8%   ending_library            Level.guardEntityTick:14052 [mixin handler from com.mega.endinglib.mixin.time.time.LevelMixin]
    0.21 ms/tick  2.5%   armageddon_mod            net.mcreator.armageddonmod.procedures.StunEffectOnEntityTickUpdateProcedure.onEntityAttacked:24
    0.20 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 1.55 of 16 cores, whole machine 29% busy
  cores  n    allocated   group                            runs
  0.64   1    2.8 GB      Render thread                    minecraft 9.7%, collections_of_optimizations 9.4%, punchy 7.9%
  0.28   15   3.1 GB      ForkJoinPool.commonPool-worker-# lithoform 63%, integrated_api 6.2%, collections_of_optimizations 5.7%
  0.18   1    973 MB      Server thread                    minecraft 26%, collections_of_optimizations 5.6%, ending_library 5.3%
  0.17   1    546 MB      Linggango Streams                lithoform 54%, linggango_tweaks 42%
  0.15   10   27 MB       Flywheel Task Executor ##        flywheel 100%
  0.02   1    140 MB      JFR Event Stream #               no JFR samples (idle or native)

ENTITIES, BLOCK ENTITIES, SCREENS (exact timings; per second of recording)
  entity render:
    5.93 ms/s  162/s    36 us    crittersandcompanions:dragonfly             worst 1.79 ms at 2504, 68, 813
  entity tick:
    15 ms/s    20/s     721 us   minecraft:player                            worst 2.57 ms at 2527, 68, 778
    2.22 ms/s  88/s     25 us    terramity:green_fairy                       worst 0.25 ms at 2530, 74, 739
    1.58 ms/s  61/s     26 us    ars_nouveau:starbuncle                      worst 0.20 ms at 2507, 72, 695
  server entity tick:
    12 ms/s    401/s    31 us    minecraft:creeper                           worst 2.46 ms at 2484, -1, 776
    9.70 ms/s  170/s    57 us    minecraft:zombie                            worst 4.52 ms at 2513, 16, 717
    8.51 ms/s  86/s     99 us    alexsmobs:centipede_body                    worst 0.77 ms at 2525, -21, 810
    7.93 ms/s  184/s    43 us    terramity:green_fairy                       worst 0.50 ms at 2524, 72, 748
    5.96 ms/s  189/s    31 us    minecraft:skeleton                          worst 1.11 ms at 2516, -4, 788
    3.16 ms/s  86/s     37 us    minecraft:salmon                            worst 0.90 ms at 2513, 58, 826
    3.05 ms/s  77/s     40 us    minecraft:axolotl                           worst 0.79 ms at 2451, -16, 732
  screen:
    3.42 ms/s  35/s     99 us    net.minecraft.client.gui.screens.ChatScreen worst 0.44 ms

JVM AND I/O
  class loads over 1 ms: 3 (12 ms), on the render/server thread 1 (1.60 ms)
  non-GC safepoints: 18 ms total (last: ThreadDump)
  log output: 0.5 lines/s
  exceptions thrown: 7.1/s, top: 2.0/s  NoDiscordClientException from optimized_rpc at dev.firstdark.rpc.exceptions.NoDiscordClientException.<init>:12

MOD VERSIONS (mods named in the findings)
  embeddium 0.3.32-beta.113-dirty+mc1.20.1;  immediatelyfast 1.5.5+1.20.4;  linggango_tweaks 7.38;  
  collections_of_optimizations 5.5;  oculus 1.8.5;  gnetum 2.5.1+1.20.1-forge;  lithoform 2.0.0-alpha13;  ;  

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