WhatsLaggin report (manual)  1m06s recorded, ended 2026-10-22 14:40:42
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, 35 entities loaded

VERDICT
  868 fps average (1.15 ms per frame), 1% low 114 fps, 0.1% low 37 fps.
  BALANCED: 0.79 ms CPU plus 0.36 ms waiting on the GPU per frame. Cuts on either side help.
  27 stutters over 20 ms (24.4 per minute), worst 201 ms. Biggest cause: whole-process stall.

WHAT TO FIX (ranked by time lost per second of play)
  1. [gpu] Partly GPU-bound: 0.36 ms of each 1.15 ms frame waits on the GPU
       Both CPU and GPU cuts help here. CPU work: 0.79 ms per frame.
       Biggest GPU levers: render distance (16), resolution (3440x1440), graphics mode (fancy)
  2. [cpu] embeddium costs 0.077 ms per frame on the render thread
       10% of render-thread CPU time, mostly in world, 48% in its own code (rest is vanilla/library code it called)
       60%  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 (25%)
       15%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:218   <- LevelRenderer.setupRender:40729
               hot: me.jellysquid.mods.sodium.client.render.chunk.RenderSectionManager.scheduleTranslucencyUpdates:172 (18%), executing Collection.removeIf (6.7%)
       8.5%  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 (21%), executing FogRenderer$MobEffectFogFunction.isEnabled:350 (11%)
       removing this cost entirely: about 868 -> 930 fps
  3. [stutter] Stutter: whole-process stall
       13 frames over 20 ms, worst 58 ms, 382 ms of extra frame time per minute
  4. [cpu] immediatelyfast costs 0.046 ms per frame on the render thread
       6.1% of render-thread CPU time, mostly in world, 29% in its own code (rest is vanilla/library code it called)
       48%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116   <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96:327
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (78%), executing RenderStateShard.clearRenderState:41 (9.5%)
       25%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125   <- LevelRenderer.renderLevel:1283
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (47%), executing RenderStateShard.clearRenderState:41 (15%)
       12%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105   <- LevelRenderer.renderLevel:1423
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (69%), executing RenderStateShard.clearRenderState:41 (15%)
       removing this cost entirely: about 868 -> 904 fps
  5. [cpu] xaeroworldmap costs 0.037 ms per frame on the render thread
       4.9% of render-thread CPU time, mostly in no phase, 74% in its own code (rest is vanilla/library code it called)
       97%  xaero.map.events.ClientEventsForge.renderTick:32   <- Minecraft.runTick:1148
               hot: xaero.map.region.MapPixel.getPixelColours:51 (10%), executing BlockAndTintGetter.getBrightness:15 (8.2%)
       removing this cost entirely: about 868 -> 897 fps
  6. [cpu] gnetum costs 0.035 ms per frame on the render thread
       4.7% of render-thread CPU time, mostly in hud, 33% in its own code (rest is vanilla/library code it called)
       100%  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] (42%), executing ASMEventHandler.invoke:55 (22%)
       removing this cost entirely: about 868 -> 895 fps
  7. [stutter] Stutter: flywheel: dev.engine_room.flywheel.backend.compile.core.Compilation.compile
       1 frames over 20 ms, worst 201 ms, 181 ms of extra frame time per minute
  8. [cpu] collections_of_optimizations costs 0.034 ms per frame on the render thread
       4.5% of render-thread CPU time, mostly in world, 86% in its own code (rest is vanilla/library code it called)
       30%  Player.coo$offhandOnly$mixinextras$bridge$518 [mixin redirect from com.misanthropy.collections_of_optimizations.mixin.bettercombat.MixinOffhandOnlyTwoHandedCheck]   <- Player.getEquippedStack_Pre:28809 [mixin handler from net.bettercombat.mixin.PlayerEntityMixin]
       13%  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 (52%), executing Level.getGameTime:729 (10%)
       6.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 (4.0%)
       removing this cost entirely: about 868 -> 894 fps
  9. [cpu] punchy costs 0.032 ms per frame on the render thread
       4.2% of render-thread CPU time, mostly in world, 77% in its own code (rest is vanilla/library code it called)
       89%  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.7%), executing PoseStack.mulPose:50 (5.7%)
       9.2%  punchy.platform.ForgeClientPlatform.onClientTick:109   <- Minecraft.tick:1875
               hot: punchy.client.bedrockitems.BedrockItemAnimationManager.getStackKey:642 (6.5%), executing String.replace (6.5%)
       removing this cost entirely: about 868 -> 893 fps
 10. [stutter] Stutter: unexplained (present)
       4 frames over 20 ms, worst 35 ms, 91 ms of extra frame time per minute

FRAMES
  57,496 frames   p50 0.92 ms   p95 2.42 ms   p99 4.98 ms   worst 201 ms
  per frame:  tasks 0.028 ms  client tick 0.068 ms  render 0.60 ms  present 0.36 ms  other 0.093 ms
  inside those:  swap 0.36 ms  world 0.47 ms  hud 0.096 ms  screen 0.002 ms
  client tick: 2.96 ms per tick, 20.0 ticks per second
  GPU busy per frame (timer queries): p50 0.65 ms   p95 1.18 ms   p99 1.97 ms
  GPU time per pass (mean per frame, each pass also holds what mods drew at the stage before it):
    0.021 ms  3.0%  sky and frame setup   (p95 0.028 ms)
    0.13 ms  19%  solid terrain   (p95 0.32 ms)
    0.022 ms  3.1%  cutout mipped terrain   (p95 0.031 ms)
    0.000 ms  <0.1%  cutout terrain   (p95 0.002 ms)
    0.017 ms  2.4%  entities   (p95 0.027 ms)
    0.010 ms  1.5%  block entities   (p95 0.074 ms)
    0.032 ms  4.6%  translucent terrain   (p95 0.27 ms)
    0.000 ms  <0.1%  tripwire   (p95 0.002 ms)
    0.001 ms  <0.1%  particles   (p95 0.004 ms)
    0.039 ms  5.6%  weather and clouds   (p95 0.073 ms)
    0.000 ms  <0.1%  end of level render   (p95 0.002 ms)
    0.18 ms  25%  hand and post effects   (p95 0.27 ms)
    0.14 ms  19%  hud   (p95 0.19 ms)
    0.12 ms  16%  screens and rest of frame   (p95 0.22 ms)

RENDER THREAD CPU BY MOD (sampled; excludes GPU wait, fps limiter and blocked time)
  12,240 samples: CPU work 65%, GPU wait 34%, limiter 0.0%, blocked on other threads 0.4%
  mods caused 78% 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 glQueryCounter; the mod that made the call is charged for it below
  ms/frame  share  own   mod                          mostly in
  0.094 ms  12%    81%   minecraft (vanilla)          world
  0.077 ms  10%    48%   embeddium                    world
  0.069 ms  9.1%   100%  forge (loader, events)       world
  0.046 ms  6.1%   29%   immediatelyfast              world
  0.037 ms  4.9%   74%   xaeroworldmap                no phase
  0.035 ms  4.7%   33%   gnetum                       hud
  0.034 ms  4.5%   86%   collections_of_optimizations world
  0.032 ms  4.2%   77%   punchy                       world
  0.030 ms  3.9%   25%   linggango_tweaks             world
  0.025 ms  3.3%   72%   flywheel                     world
  0.020 ms  2.6%   13%   asyncparticles               world
  0.018 ms  2.4%   3.6%  whatslaggin                  world
  0.018 ms  2.4%   10%   oculus                       world
  0.014 ms  1.8%   16%   let_there_be_atmosphere      world
  0.012 ms  1.6%   45%   brute_force_culling_revived  world
  0.19 ms   158 more below 0.5% each

HOT PATHS (where each mod's render-thread time goes; SRG names translated; <- = called from)
  minecraft (vanilla)  0.094 ms/frame, 12%, hottest vanilla methods:
    11%   LevelRenderer.renderLevel:1198  <- me.decce.ixeris.RenderThreadStarter.run:39
          executing Iterators$1.next:146 9.5%
    6.9%  Entity.shouldRender:1562  <- me.decce.ixeris.RenderThreadStarter.run:39
    6.3%  EntityRenderDispatcher.getRenderer:530  <- me.decce.ixeris.RenderThreadStarter.run:39
  embeddium  0.077 ms/frame, 10%
    60%   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 25%
    15%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:218  <- LevelRenderer.setupRender:40729
          hot me.jellysquid.mods.sodium.client.render.chunk.RenderSectionManager.scheduleTranslucencyUpdates:172 18%
          executing Collection.removeIf 6.7%
    8.5%  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 21%
          executing FogRenderer$MobEffectFogFunction.isEnabled:350 11%
  immediatelyfast  0.046 ms/frame, 6.1%
    48%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96:327
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 78%
          executing RenderStateShard.clearRenderState:41 9.5%
    25%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125  <- LevelRenderer.renderLevel:1283
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 47%
          executing RenderStateShard.clearRenderState:41 15%
    12%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105  <- LevelRenderer.renderLevel:1423
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 69%
          executing RenderStateShard.clearRenderState:41 15%
  xaeroworldmap  0.037 ms/frame, 4.9%
    97%   xaero.map.events.ClientEventsForge.renderTick:32  <- Minecraft.runTick:1148
          hot xaero.map.region.MapPixel.getPixelColours:51 10%
          executing BlockAndTintGetter.getBrightness:15 8.2%
  gnetum  0.035 ms/frame, 4.7%
    100%  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] 42%
          executing ASMEventHandler.invoke:55 22%
  collections_of_optimizations  0.034 ms/frame, 4.5%
    30%   Player.coo$offhandOnly$mixinextras$bridge$518 [mixin redirect from com.misanthropy.collections_of_optimizations.mixin.bettercombat.MixinOffhandOnlyTwoHandedCheck]  <- Player.getEquippedStack_Pre:28809 [mixin handler from net.bettercombat.mixin.PlayerEntityMixin]
    13%   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 52%
          executing Level.getGameTime:729 10%
    6.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 4.0%
  punchy  0.032 ms/frame, 4.2%
    89%   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.7%
          executing PoseStack.mulPose:50 5.7%
    9.2%  punchy.platform.ForgeClientPlatform.onClientTick:109  <- Minecraft.tick:1875
          hot punchy.client.bedrockitems.BedrockItemAnimationManager.getStackKey:642 6.5%
          executing String.replace 6.5%
  linggango_tweaks  0.030 ms/frame, 3.9%
    34%   com.misanthropy.linggango.linggango_tweaks.lumalight.LumalightClient.onRenderLevel:91  <- GameRenderer.renderLevel:1128
          hot com.misanthropy.linggango.linggango_tweaks.lumalight.PostEffectRenderer.draw:210 35%
          executing GL45C.glBlitNamedFramebuffer 23%
    19%   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 1.7%
          executing GL20C.glUseProgram 22%
    13%   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 41%
          executing GL30C.glBindFramebuffer 22%

  blocked (render thread parked, waiting for another thread):
    0.005 ms/frame minecraft (vanilla)     Minecraft.runTick:1177

STUTTERS (frames over 20 ms, grouped by what was happening during them)
  frames  worst     extra/min   cause
  13      58 ms     382 ms      whole-process stall
  1       201 ms    181 ms      flywheel: dev.engine_room.flywheel.backend.compile.core.Compilation.compile
  4       35 ms     91 ms       unexplained (present)
  2       72 ms     86 ms       unexplained (render)
  2       46 ms     71 ms       GPU / driver (buffer swap)
  3       26 ms     62 ms       lock wait (flywheel)
  1       34 ms     30 ms       pehkui: virtuoel.pehkui.api.ScaleType.getScaleData
  1       27 ms     24 ms       subtle_effects: einstein.subtle_effects.particle.SplashRippleParticle$Provider.createParticle
  1       21 ms     18 ms       vanilla minecraft: BlockState.getLightBlock

  worst frames:
  14:40:32.901  201 ms   render 200 ms         flywheel: dev.engine_room.flywheel.backend.compile.core.Compilation.compile
                             33 of 36 samples, hottest line dev.engine_room.flywheel.backend.compile.core.Compilation.compile:44
  14:39:44.519  72 ms    render 59 ms          unexplained (render)
                             15 samples, no single owner
  14:40:11.701  58 ms    present 58 ms         whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)
  14:39:45.012  52 ms    render 50 ms          whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)
  14:39:41.832  46 ms    present 43 ms         GPU / driver (buffer swap)
                             2 of 2 samples waiting in glfwSwapBuffers
  14:40:13.005  42 ms    present 41 ms         whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)
  14:39:40.875  37 ms    render 36 ms          whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)
  14:39:57.168  35 ms    present 30 ms         unexplained (present)
                             0 stack samples landed inside this frame, too few to name a cause
  14:39:41.892  35 ms    present 34 ms         GPU / driver (buffer swap)
                             2 of 2 samples waiting in glfwSwapBuffers
  14:39:54.139  34 ms    client tick 4.30 ms   pehkui: virtuoel.pehkui.api.ScaleType.getScaleData
                             1 of 2 samples, hottest line ModelBakery$ModelBakerImpl.obtainModel:596 [mixin handler from org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.ModelBakerImplMixin]

MEMORY AND GC
  allocated 55.1 GB (849 MB/s, exact, all threads), max heap 10.0 GB
  33 GC pauses (0 old/full), 706 ms paused (1.1%), worst 58 ms, one every 2.0 s
  heap after GC 6.8 GB (68% of max, old garbage stays until the next marking cycle), changed by 1.8 GB over the recording
  by mod (JFR samples scaled to each thread's exact allocation; 99% of bytes covered):
    158 MB/s  19%    collections_of_optimizations 2,049 samples
        8.2%  com.misanthropy.collections_of_optimizations.core.NbtFastLoad.loadCompound:131 -> Object;
        7.0%  com.misanthropy.collections_of_optimizations.core.NbtFastLoad.loadCompound:131 -> Object2ObjectOpenHashMap
        6.4%  com.misanthropy.collections_of_optimizations.core.FeaturePlacement.step:58 -> ReferencePipeline$Head
    129 MB/s  15%    lithoform                 1,527 samples
        16%  com.misanthropy.lithoform.bowl.BowlOffset.compute:25 -> DensityFunctions$Spline$Point
        9.7%  com.misanthropy.lithoform.compat.LandProvinces.province:496 -> [J
        8.7%  com.misanthropy.lithoform.compat.LandProvinces.province:495 -> Climate$TargetPoint
    111 MB/s  13%    fastchunkgen              1,485 samples
        14%  NoiseChunk.lambda$wrap$0:4484 [mixin merged from com.misanthropy.fastchunkgen.opts.worldgen.vanilla.mixin.noise_chunk_wrap.MixinNoiseChunk] -> [D
        5.1%  ChunkStatus.lambda$generate$0:3108 [mixin merged from com.misanthropy.fastchunkgen.threading.worldgen.mixin.MixinChunkStatus] -> CallbackInfoReturnable
    93 MB/s   11%    minecraft (vanilla)       3,161 samples
        7.9%  BlockBehaviour$BlockStateBase.getLightBlock -> CallbackInfoReturnable
        7.0%  SkyLightSectionStorage$SkyDataLayerStorageMap.copy:164 -> [J
        6.3%  BlockLightSectionStorage$BlockDataLayerStorageMap.copy:36 -> [J
    41 MB/s   4.8%   xaeroworldmap             357 samples
        74%  xaero.map.misc.ConsistentBitArray.<init>:30 -> [J
    31 MB/s   3.7%   biomeswevegone            336 samples
        14%  net.potionstudios.biomeswevegone.world.level.levelgen.surfacerules.WeightedRuleSource.apply:31 -> SurfaceRules$StoneDepthCheck$1StoneDepthCondition
        9.5%  net.potionstudios.biomeswevegone.world.level.levelgen.surfacerules.WeightedRuleSource.apply:31 -> SurfaceRules$TestRule
        6.6%  net.potionstudios.biomeswevegone.world.level.levelgen.surfacerules.WeightedRuleSource.apply:31 -> SurfaceRules$WaterConditionSource$1WaterCondition
    24 MB/s   2.8%   linggango_tweaks          330 samples
        10%  com.misanthropy.linggango.linggango_tweaks.tweak.streams.WaterSolver.levels:204 -> [J
        6.0%  com.misanthropy.linggango.linggango_tweaks.tweak.streams.StreamMacro.tile:550 -> Long
    18 MB/s   2.1%   modernfix                 283 samples
        23%  org.embeddedt.modernfix.structure.CachingStructureManager.readStructure:39 -> BlockPos
        20%  org.embeddedt.modernfix.structure.CachingStructureManager.readStructure:39 -> StructureTemplate$StructureBlockInfo
        16%  org.embeddedt.modernfix.structure.CachingStructureManager.readStructure:39 -> Object;
    17 MB/s   2.0%   revelationfix             177 samples
        27%  com.mega.revelationfix.common.structures.FrostyardGenerationProtection$Context.contains:88 -> Long
        25%  com.mega.revelationfix.common.structures.FrostyardGenerationProtection$Context.contains:88 -> 1184443048
        8.6%  com.mega.revelationfix.common.structures.FrostyardGenerationProtection$Context.collect:127 -> HashMap$EntryIterator
    17 MB/s   2.0%   terrablender              175 samples
        53%  terrablender.worldgen.surface.NamespacedSurfaceRuleSource$NamespacedRule.tryApply -> 2022677188
        16%  terrablender.worldgen.noise.Area.get -> 1239821245
        7.0%  terrablender.worldgen.surface.NamespacedSurfaceRuleSource.lambda$apply$1:54 -> SurfaceRules$StoneDepthCheck$1StoneDepthCondition

INTEGRATED SERVER (single player; this is world lag, not FPS)
  1,222 ticks, mspt mean 14 ms, p50 9.96 ms, p95 23 ms, worst 1.6 s, 12 over 50 ms
    2.86 ms/tick  20%    minecraft (vanilla)       
    2.77 ms/tick  19%    fastchunkgen              ServerChunkCache.beforeAwaitChunk:6611 [mixin redirect from com.misanthropy.fastchunkgen.base.mixin.priority.MixinServerChunkManager]
    1.12 ms/tick  7.8%   collections_of_optimizations ServerLevel.coo$growthTick:10142 [mixin modifyExpressionValue from com.misanthropy.collections_of_optimizations.mixin.immersiveweathering.MixinServerLevelGrowthTick]
    0.63 ms/tick  4.4%   forge (loader, events)    
    0.46 ms/tick  3.2%   radium                    EntitySectionStorage.forEachInBox:555 [mixin handler from me.jellysquid.mods.lithium.mixin.entity.fast_retrieval.SectionedEntityCacheMixin]
    0.37 ms/tick  2.6%   terramity                 net.mcreator.terramity.entity.GreenFairyEntity.aiStep:213
    0.35 ms/tick  2.5%   alexsmobs                 com.github.alexthe666.alexsmobs.entity.EntityAnteater.tick:230

THREADS (exact CPU per thread group; 'runs' = what JFR saw executing on it)
  the game used 6.25 of 16 cores, whole machine 69% busy
  cores  n    allocated   group                            runs
  3.84   25   27.7 GB     FastChunkGen worker ##           lithoform 55%, collections_of_optimizations 15%, fastchunkgen 13%
  0.66   1    8.6 GB      Render thread                    xaeroworldmap 12%, minecraft 11%, collections_of_optimizations 11%
  0.61   15   8.1 GB      ForkJoinPool.commonPool-worker-# lithoform 63%, mowziesmobs 8.5%, ae2 8.1%
  0.26   10   2.2 GB      Chunk Render Task Executor ##    minecraft 41%, embeddium 39%, linggango_tweaks 5.5%
  0.24   1    4.0 GB      Server thread                    minecraft 34%, collections_of_optimizations 8.7%, radium 5.3%
  0.18   1    839 MB      Linggango Streams                lithoform 69%, linggango_tweaks 25%
  0.11   10   57 MB       Flywheel Task Executor ##        flywheel 99%
  0.11   6    325 MB      Lumenite light #                 lumenite 90%, minecraft 9.6%
  0.03   15   45 MB       Worker-Main-#                    minecraft 73%, jdk 27%
  0.03   1    853 KB      whatslaggin-threads              too few samples
  0.02   1    371 KB      spark-monitoring-thread          no JFR samples (idle or native)

ENTITIES, BLOCK ENTITIES, SCREENS (exact timings; per second of recording)
  entity render:
    4.02 ms/s  74/s     54 us    alexsmobs:kangaroo                          worst 3.06 ms at -3273, 171, 779
    2.39 ms/s  45/s     53 us    hexerei:crow                                worst 5.25 ms at -3242, 191, 788
    1.66 ms/s  39/s     42 us    alexsmobs:emu                               worst 3.14 ms at -3331, 157, 804
  entity tick:
    14 ms/s    20/s     704 us   minecraft:player                            worst 4.13 ms at -3169, 200, 778
    1.06 ms/s  30/s     36 us    terramity:green_fairy                       worst 1.24 ms at -3165, 217, 764
    0.71 ms/s  10/s     69 us    alexsmobs:anteater                          worst 1.55 ms at -3238, 171, 731
  server entity tick:
    14 ms/s    208/s    67 us    terramity:green_fairy                       worst 4.31 ms at -3544, 108, 836
    3.78 ms/s  164/s    23 us    minecraft:item                              worst 15 ms at -3835, 74, 754
    2.98 ms/s  31/s     97 us    alexsmobs:leafcutter_ant                    worst 1.60 ms at -3913, 71, 778
    2.46 ms/s  20/s     123 us   eeeabsmobs:relic_observer                   worst 0.97 ms at -3317, -14, 703
    2.26 ms/s  14/s     166 us   minecraft:player                            worst 1.56 ms at -3982, 200, 777
  screen:
    2.16 ms/s  30/s     73 us    net.minecraft.client.gui.screens.ChatScreen worst 1.85 ms

JVM AND I/O
  class loads over 1 ms: 267 (750 ms), on the render/server thread 62 (156 ms)
    by owner: minecraft 90 classes, 308 ms; linggango_fixes 29 classes, 105 ms; library 13 classes, 37 ms; create 8 classes, 29 ms; linggango_tweaks 14 classes, 23 ms
  render thread lock: 294 ms in 68 events, flywheel at dev.engine_room.flywheel.impl.task.ThreadGroupNotifier.postNotification:16 (ThreadGroupNotifier)
  non-GC safepoints: 51 ms total (last: ThreadDump)
  log output: 0.4 lines/s
  exceptions thrown: 45.3/s, top: 1.1/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;  immediatelyfast 1.5.5+1.20.4;  xaeroworldmap 1.46.0;  
  gnetum 2.5.1+1.20.1-forge;  collections_of_optimizations 5.33;  punchy 2.8c;  ;  flywheel 1.0.5;  

RECORDING
  stack sampler every 5 ms: 12,240 render-thread, 2,831 server-thread samples (server only while ticking)
  JFR on (cpu, allocation, locks, file io, class loading, safepoints, exceptions): 19,130 CPU samples, 17,851 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
