WhatsLaggin report (manual)  39.3 s recorded, ended 2026-10-23 03:04:19
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, 118 entities loaded

VERDICT
  1000 fps average (1.00 ms per frame), 1% low 227 fps, 0.1% low 123 fps.
  BALANCED: 0.66 ms CPU plus 0.34 ms waiting on the GPU per frame. Cuts on either side help.
  2 stutters over 20 ms (3.1 per minute), worst 28 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.34 ms of each 1.00 ms frame waits on the GPU
       Both CPU and GPU cuts help here. CPU work: 0.66 ms per frame.
       Biggest GPU levers: render distance (12), resolution (3440x1440), graphics mode (fancy)
  2. [cpu] embeddium costs 0.073 ms per frame on the render thread
       11% of render-thread CPU time, mostly in world, 44% 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 (34%), executing GL32C.nglMultiDrawElementsBaseVertex (31%)
       7.2%  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 (37%), executing FogRenderer$MobEffectFogFunction.isEnabled:350 (24%)
       5.6%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:238   <- LevelRenderer.setupRender:40729
               hot: me.jellysquid.mods.sodium.client.render.chunk.RenderSectionManager.tickVisibleRenders:359 (47%), executing Long2ReferenceOpenHashMap$MapIterator.nextEntry:662 (9.4%)
       removing this cost entirely: about 1000 -> 1079 fps
  3. [cpu] immediatelyfast costs 0.047 ms per frame on the render thread
       7.3% 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 (73%), executing RenderStateShard.clearRenderState:41 (13%)
       24%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105   <- LevelRenderer.renderLevel:1228
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (73%), executing GL20C.glUseProgram (11%)
       16%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125   <- LevelRenderer.renderLevel:1283
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (44%), executing RenderStateShard.setupRenderState:37 (15%)
       removing this cost entirely: about 1000 -> 1050 fps
  4. [world] minecraft:zombie (entity render) costs 31 ms every second
       28,155 calls, 43 us each, worst 2.61 ms at 2504, 65, 808
  5. [cpu] linggango_tweaks costs 0.031 ms per frame on the render thread
       4.8% of render-thread CPU time, mostly in world, 28% in its own code (rest is vanilla/library code it called)
       25%  com.misanthropy.linggango.linggango_tweaks.lumalight.LumalightClient.onRenderLevel:91   <- GameRenderer.renderLevel:1128
               hot: com.misanthropy.linggango.linggango_tweaks.lumalight.PostEffectRenderer.draw:210 (37%), executing GL45C.glBlitNamedFramebuffer (25%)
       23%  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 (18%), executing VertexConsumer.color:47 (27%)
       15%  com.misanthropy.linggango.linggango_tweaks.client.DynamicCrosshairHandler.onRenderCrosshair:205   <- ForgeGui.gnetum$postEvent:3130 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin]
               executing GL20C.glUseProgram (28%)
       removing this cost entirely: about 1000 -> 1032 fps
  6. [cpu] punchy costs 0.026 ms per frame on the render thread
       4.1% of render-thread CPU time, mostly in world, 72% in its own code (rest is vanilla/library code it called)
       95%  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.6%), executing Matrix4f.mul:1141 (7.1%)
       4.8%  punchy.platform.ForgeClientPlatform.onClientTick:109   <- Minecraft.tick:1875
               hot: punchy.client.state.CustomAnimationResolver.normalizeType:517 (10%), executing StringLatin1.toLowerCase (20%)
       removing this cost entirely: about 1000 -> 1028 fps
  7. [cpu] gnetum costs 0.024 ms per frame on the render thread
       3.8% of render-thread CPU time, mostly in hud, 23% 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] (50%), executing ASMEventHandler.invoke:55 (26%)
       removing this cost entirely: about 1000 -> 1025 fps
  8. [cpu] collections_of_optimizations costs 0.024 ms per frame on the render thread
       3.7% of render-thread CPU time, mostly in world, 71% in its own code (rest is vanilla/library code it called)
       9.1%  com.misanthropy.collections_of_optimizations.core.ZetaWrapperMemo$Memo.apply:61   <- org.violetmoon.zetaimplforge.event.ForgeEventsRemapper.lambda$createForgeConsumer$3:132
               executing ThreadLocal$ThreadLocalMap.getEntryAfterMiss (76%)
       8.6%  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 ObjectLinkedOpenHashSet.contains:543 (6.3%)
       6.5%  LevelRenderer.coo$replayOutlineEdges:19601 [mixin wrapOperation from com.misanthropy.collections_of_optimizations.mixin.vanilla.MixinLevelRendererOutlineEdges]   <- LevelRenderer.renderShape:2283
               executing BufferBuilder.endVertex:263 (42%)
       removing this cost entirely: about 1000 -> 1025 fps
  9. [stutter] Stutter: GC pause (G1 Young Generation)
       2 frames over 20 ms, worst 28 ms, 76 ms of extra frame time per minute
       allocation 233 MB/s; 2 collections, worst 23 ms
       26 MB/s minecraft (11%): BufferBuilder.bufferSlice:371 -> DirectByteBuffer
       25 MB/s collections_of_optimizations (11%): com.misanthropy.collections_of_optimizations.core.NbtFastLoad.loadCompound:131 -> Object;
       23 MB/s lithoform (9.8%): NoiseChunk.lithoform$sharedScan:3507 [mixin handler from com.misanthropy.lithoform.mixin.PreliminarySurfaceMixin] -> DensityFunctions$Spline$Point
       Fix: cut allocation at the sites above (reuse objects, avoid streams/boxing in per-tick code).

FRAMES
  39,215 frames   p50 0.88 ms   p95 1.31 ms   p99 3.57 ms   worst 28 ms
  per frame:  tasks 0.006 ms  client tick 0.053 ms  render 0.56 ms  present 0.35 ms  other 0.038 ms
  inside those:  swap 0.34 ms  world 0.44 ms  hud 0.091 ms  screen 0.002 ms
  client tick: 2.62 ms per tick, 20.1 ticks per second
  GPU busy per frame (timer queries): p50 0.66 ms   p95 0.90 ms   p99 1.13 ms
  GPU time per pass (mean per frame, each pass also holds what mods drew at the stage before it):
    0.021 ms  3.1%  sky and frame setup   (p95 0.023 ms)
    0.22 ms  31%  solid terrain   (p95 0.37 ms)
    0.018 ms  2.5%  cutout mipped terrain   (p95 0.020 ms)
    0.000 ms  <0.1%  cutout terrain   (p95 0.002 ms)
    0.019 ms  2.7%  entities   (p95 0.021 ms)
    0.000 ms  <0.1%  block entities   (p95 0.001 ms)
    0.004 ms  0.5%  translucent terrain   (p95 0.008 ms)
    0.000 ms  <0.1%  tripwire   (p95 0.001 ms)
    0.003 ms  0.4%  particles   (p95 0.004 ms)
    0.022 ms  3.2%  weather and clouds   (p95 0.023 ms)
    0.000 ms  <0.1%  end of level render   (p95 0.001 ms)
    0.19 ms  27%  hand and post effects   (p95 0.19 ms)
    0.12 ms  17%  hud   (p95 0.13 ms)
    0.089 ms  13%  screens and rest of frame   (p95 0.15 ms)

RENDER THREAD CPU BY MOD (sampled; excludes GPU wait, fps limiter and blocked time)
  7,838 samples: CPU work 64%, GPU wait 36%, limiter 0.0%, blocked on other threads 0.0%
  mods caused 76% 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.084 ms  13%    83%   minecraft (vanilla)          world
  0.073 ms  11%    44%   embeddium                    world
  0.070 ms  11%    100%  forge (loader, events)       world
  0.047 ms  7.3%   28%   immediatelyfast              world
  0.031 ms  4.8%   28%   linggango_tweaks             world
  0.026 ms  4.1%   72%   punchy                       world
  0.024 ms  3.8%   23%   gnetum                       hud
  0.024 ms  3.7%   71%   collections_of_optimizations world
  0.022 ms  3.4%   17%   oculus                       world
  0.019 ms  3.0%   22%   asyncparticles               world
  0.015 ms  2.4%   5.8%  whatslaggin                  world
  0.010 ms  1.6%   8.8%  let_there_be_atmosphere      world
  0.009 ms  1.5%   92%   xaeroworldmap                no phase
  0.008 ms  1.3%   85%   xaerominimap                 render
  0.008 ms  1.3%   77%   mahoutsukai                  world
  0.17 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.084 ms/frame, 13%, hottest vanilla methods:
    15%   Entity.shouldRender:1562  <- me.decce.ixeris.RenderThreadStarter.run:39
    14%   EntityRenderDispatcher.getRenderer:530  <- me.decce.ixeris.RenderThreadStarter.run:39
    7.4%  LevelRenderer.renderLevel:1198  <- me.decce.ixeris.RenderThreadStarter.run:39
          executing Iterators$1.hasNext:140 15%
  embeddium  0.073 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 34%
          executing GL32C.nglMultiDrawElementsBaseVertex 31%
    7.2%  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 37%
          executing FogRenderer$MobEffectFogFunction.isEnabled:350 24%
    5.6%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:238  <- LevelRenderer.setupRender:40729
          hot me.jellysquid.mods.sodium.client.render.chunk.RenderSectionManager.tickVisibleRenders:359 47%
          executing Long2ReferenceOpenHashMap$MapIterator.nextEntry:662 9.4%
  immediatelyfast  0.047 ms/frame, 7.3%
    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 73%
          executing RenderStateShard.clearRenderState:41 13%
    24%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105  <- LevelRenderer.renderLevel:1228
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 73%
          executing GL20C.glUseProgram 11%
    16%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125  <- LevelRenderer.renderLevel:1283
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 44%
          executing RenderStateShard.setupRenderState:37 15%
  linggango_tweaks  0.031 ms/frame, 4.8%
    25%   com.misanthropy.linggango.linggango_tweaks.lumalight.LumalightClient.onRenderLevel:91  <- GameRenderer.renderLevel:1128
          hot com.misanthropy.linggango.linggango_tweaks.lumalight.PostEffectRenderer.draw:210 37%
          executing GL45C.glBlitNamedFramebuffer 25%
    23%   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 18%
          executing VertexConsumer.color:47 27%
    15%   com.misanthropy.linggango.linggango_tweaks.client.DynamicCrosshairHandler.onRenderCrosshair:205  <- ForgeGui.gnetum$postEvent:3130 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin]
          executing GL20C.glUseProgram 28%
  punchy  0.026 ms/frame, 4.1%
    95%   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.6%
          executing Matrix4f.mul:1141 7.1%
    4.8%  punchy.platform.ForgeClientPlatform.onClientTick:109  <- Minecraft.tick:1875
          hot punchy.client.state.CustomAnimationResolver.normalizeType:517 10%
          executing StringLatin1.toLowerCase 20%
  gnetum  0.024 ms/frame, 3.8%
    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] 50%
          executing ASMEventHandler.invoke:55 26%
  collections_of_optimizations  0.024 ms/frame, 3.7%
    9.1%  com.misanthropy.collections_of_optimizations.core.ZetaWrapperMemo$Memo.apply:61  <- org.violetmoon.zetaimplforge.event.ForgeEventsRemapper.lambda$createForgeConsumer$3:132
          executing ThreadLocal$ThreadLocalMap.getEntryAfterMiss 76%
    8.6%  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 ObjectLinkedOpenHashSet.contains:543 6.3%
    6.5%  LevelRenderer.coo$replayOutlineEdges:19601 [mixin wrapOperation from com.misanthropy.collections_of_optimizations.mixin.vanilla.MixinLevelRendererOutlineEdges]  <- LevelRenderer.renderShape:2283
          executing BufferBuilder.endVertex:263 42%
  oculus  0.022 ms/frame, 3.4%
    22%   LevelRenderer.iris$renderTranslucentAfterDeferred:18140 [mixin redirect from net.irisshaders.iris.mixin.fantastic.MixinLevelRenderer]  <- LevelRenderer.renderLevel:1381
          hot GlStateManager.iris$modify:2835 [mixin redirect from net.irisshaders.iris.mixin.MixinGlStateManager_DepthColorOverride] 5.3%
          executing ParticleEngine.render:3227 18%
    21%   GameRenderer.iris$disableVanillaHandRendering:8534 [mixin redirect from net.irisshaders.iris.mixin.MixinGameRenderer]  <- GameRenderer.renderItemInHand:852
          hot BufferBuilder.iris$beginWithoutExtending:1609 [mixin merged from net.irisshaders.iris.mixin.vertices.MixinBufferBuilder] 11%
          executing ASMEventHandler.invoke:55 42%
    19%   GlStateManager.iris$modify:2835 [mixin redirect from net.irisshaders.iris.mixin.MixinGlStateManager_DepthColorOverride]  <- GlStateManager._drawElements:718
          executing GL11C.nglDrawElements 100%

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

  worst frames:
  03:03:46.921  28 ms    render 25 ms          GC pause (G1 Young Generation)
                             23 ms of the frame was a stop-the-world collection
  03:04:06.213  24 ms    render 23 ms          GC pause (G1 Young Generation)
                             22 ms of the frame was a stop-the-world collection

MEMORY AND GC
  allocated 8.9 GB (233 MB/s, exact, all threads), max heap 10.0 GB
  2 GC pauses (0 old/full), 45 ms paused (0.1%), worst 23 ms, one every 19.7 s
  longest pauses:
    03:03:46.919  23 ms  G1 Young Generation, G1 Evacuation Pause
    03:04:06.212  22 ms  G1 Young Generation, G1 Evacuation Pause
  heap after GC 4.3 GB (43% of max, old garbage stays until the next marking cycle)
  by mod (JFR samples scaled to each thread's exact allocation; 98% of bytes covered):
    26 MB/s   11%    minecraft (vanilla)       460 samples
        3.8%  BufferBuilder.bufferSlice:371 -> DirectByteBuffer
    25 MB/s   11%    collections_of_optimizations 487 samples
        22%  com.misanthropy.collections_of_optimizations.core.NbtFastLoad.loadCompound:131 -> Object;
        17%  com.misanthropy.collections_of_optimizations.core.NbtFastLoad.loadCompound:131 -> Object2ObjectOpenHashMap
        11%  com.misanthropy.collections_of_optimizations.mixin.nbtload.ListTagInvoker.coo$create -> ListTag
    23 MB/s   9.8%   lithoform                 491 samples
        17%  NoiseChunk.lithoform$sharedScan:3507 [mixin handler from com.misanthropy.lithoform.mixin.PreliminarySurfaceMixin] -> DensityFunctions$Spline$Point
        16%  com.misanthropy.lithoform.bowl.Special3D.fillArray:23 -> DensityFunctions$Spline$Point
        13%  com.misanthropy.lithoform.bowl.Special3D.fillArray:23 -> [D
    21 MB/s   9.1%   linggango_tweaks          355 samples
        28%  com.misanthropy.linggango.linggango_tweaks.tweak.streams.StreamPlanner.settleBanks:1216 -> Long2IntOpenHashMap$MapEntry
        7.6%  com.misanthropy.linggango.linggango_tweaks.tweak.streams.StreamMacro.tile:550 -> Long
        6.4%  snownee.jade.overlay.DisplayHelper.drawText:429 -> CallbackInfo
    13 MB/s   5.5%   immediatelyfast           133 samples
        28%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.lambda$addNewFallbackBuffer$1:188 -> [J
        11%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.lambda$addNewFallbackBuffer$1:188 -> Object;
        8.3%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 -> DirectByteBuffer
    10 MB/s   4.3%   punchy                    104 samples
        4.8%  punchy.client.render.ToolKindResolver.isBucket:112 -> Optional
    7 MB/s    2.9%   embeddium                 216 samples
        16%  BufferBuilder.onFormatChanged:5580 [mixin handler from me.jellysquid.mods.sodium.mixin.core.render.immediate.consumer.BufferBuilderMixin] -> SodiumBufferBuilder
        14%  me.jellysquid.mods.sodium.client.render.chunk.lists.ChunkRenderList.sectionsWithGeometryIterator:65 -> ReversibleByteArrayIterator
        8.5%  me.jellysquid.mods.sodium.client.render.chunk.ChunkRenderMatrices.from:11 -> Matrix4f
    7 MB/s    2.8%   fastchunkgen              145 samples
        69%  NoiseChunk.lambda$wrap$0:4484 [mixin merged from com.misanthropy.fastchunkgen.opts.worldgen.vanilla.mixin.noise_chunk_wrap.MixinNoiseChunk] -> [D
        5.0%  StructurePlaceSettings.onInit:524 [mixin handler from com.misanthropy.fastchunkgen.fixes.worldgen.threading_issues.mixin.threading.MixinStructurePlacementData] -> Collections$SynchronizedRandomAccessList
    6 MB/s    2.7%   structureessentials       65 samples
        19%  StructureTemplate$StructureBlockInfo.onInit:854 [mixin handler from com.structureessentials.mixin.BlockInfoMixin] -> HashMap
        16%  StructureTemplate$StructureBlockInfo.onInit:854 [mixin handler from com.structureessentials.mixin.BlockInfoMixin] -> [B
        13%  StructureTemplate$StructureBlockInfo.onInit:854 [mixin handler from com.structureessentials.mixin.BlockInfoMixin] -> ResourceLocation
    5 MB/s    2.2%   modernfix                 89 samples
        35%  org.embeddedt.modernfix.structure.CachingStructureManager.readStructure:39 -> BlockPos
        25%  org.embeddedt.modernfix.structure.CachingStructureManager.readStructure:39 -> Object;
        21%  org.embeddedt.modernfix.structure.CachingStructureManager.readStructure:39 -> StructureTemplate$StructureBlockInfo

INTEGRATED SERVER (single player; this is world lag, not FPS)
  791 ticks, mspt mean 6.73 ms, p50 5.83 ms, p95 11 ms, worst 22 ms, 0 over 50 ms
    1.18 ms/tick  18%    minecraft (vanilla)       
    0.68 ms/tick  10%    collections_of_optimizations ServerLevel.coo$growthTick:10142 [mixin modifyExpressionValue from com.misanthropy.collections_of_optimizations.mixin.immersiveweathering.MixinServerLevelGrowthTick]
    0.61 ms/tick  9.1%   forge (loader, events)    
    0.24 ms/tick  3.6%   ending_library            Level.guardEntityTick:14052 [mixin handler from com.mega.endinglib.mixin.time.time.LevelMixin]
    0.22 ms/tick  3.2%   radium                    EntitySectionStorage.forEachInBox:555 [mixin handler from me.jellysquid.mods.lithium.mixin.entity.fast_retrieval.SectionedEntityCacheMixin]
    0.17 ms/tick  2.5%   pehkui                    Entity.pehkui$tick:38737 [mixin handler from virtuoel.pehkui.mixin.EntityMixin]
    0.16 ms/tick  2.4%   terramity                 net.mcreator.terramity.entity.GreenFairyEntity.aiStep:213
    0.14 ms/tick  2.1%   alexsmobs                 com.github.alexthe666.alexsmobs.entity.EntityTerrapin.tick:130

THREADS (exact CPU per thread group; 'runs' = what JFR saw executing on it)
  the game used 1.45 of 16 cores, whole machine 28% busy
  cores  n    allocated   group                            runs
  0.68   1    4.1 GB      Render thread                    collections_of_optimizations 12%, minecraft 11%, punchy 9.0%
  0.23   15   3.1 GB      ForkJoinPool.commonPool-worker-# lithoform 62%, collections_of_optimizations 8.8%, mowziesmobs 6.4%
  0.17   10   35 MB       Flywheel Task Executor ##        flywheel 100%
  0.14   1    547 MB      Linggango Streams                lithoform 54%, linggango_tweaks 40%
  0.11   1    925 MB      Server thread                    minecraft 27%, collections_of_optimizations 9.1%
  0.02   1    563 KB      whatslaggin-threads              too few samples

ENTITIES, BLOCK ENTITIES, SCREENS (exact timings; per second of recording)
  entity render:
    31 ms/s    716/s    43 us    minecraft:zombie                            worst 2.61 ms at 2504, 65, 808
  entity tick:
    9.36 ms/s  20/s     465 us   minecraft:player                            worst 2.33 ms at 2527, 68, 778
    1.41 ms/s  73/s     19 us    terramity:green_fairy                       worst 0.18 ms at 2480, 67, 803
    1.40 ms/s  40/s     35 us    crittersandcompanions:ferret                worst 0.26 ms at 2517, 69, 734
  server entity tick:
    11 ms/s    214/s    54 us    minecraft:skeleton                          worst 1.68 ms at 2515, -24, 819
    5.17 ms/s  113/s    46 us    terramity:green_fairy                       worst 0.41 ms at 2525, 86, 747
    4.76 ms/s  142/s    34 us    minecraft:zombie                            worst 1.24 ms at 2557, -11, 831
    4.38 ms/s  206/s    21 us    minecraft:salmon                            worst 0.52 ms at 2572, 61, 813
    3.74 ms/s  170/s    22 us    minecraft:creeper                           worst 0.61 ms at 2513, -32, 842
    2.55 ms/s  74/s     34 us    alexsmobs:terrapin                          worst 11 ms at 2551, 60, 816
    2.48 ms/s  51/s     48 us    minecraft:axolotl                           worst 3.03 ms at 2499, 11, 792
  screen:
    2.43 ms/s  28/s     88 us    net.minecraft.client.gui.screens.ChatScreen worst 0.35 ms

JVM AND I/O
  class loads over 1 ms: 3 (12 ms), on the render/server thread 2 (8.96 ms)
  non-GC safepoints: 29 ms total (last: ThreadDump)
  log output: 0.4 lines/s
  exceptions thrown: 7.5/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;  
  punchy 2.8c;  gnetum 2.5.1+1.20.1-forge;  collections_of_optimizations 5.5;  lithoform 2.0.0-alpha13;  ;  

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