WhatsLaggin report (manual)  1m07s recorded, ended 2026-10-22 08:02:59
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 3440x1392 fullscreen @180 Hz, vsync off, fps limit unlimited, render distance 16, simulation 7, graphics fancy, shaders off
World minecraft:overworld, 52 entities loaded

VERDICT
  877 fps average (1.14 ms per frame), 1% low 112 fps, 0.1% low 46 fps.
  BALANCED: 0.82 ms CPU plus 0.32 ms waiting on the GPU per frame. Cuts on either side help.
  19 stutters over 20 ms (16.9 per minute), worst 88 ms. Biggest cause: whole-process stall.

WHAT TO FIX (ranked by time lost per second of play)
  1. [gpu] Partly GPU-bound: 0.32 ms of each 1.14 ms frame waits on the GPU
       Both CPU and GPU cuts help here. CPU work: 0.82 ms per frame.
       Biggest GPU levers: render distance (16), resolution (3440x1392), graphics mode (fancy)
  2. [cpu] embeddium costs 0.079 ms per frame on the render thread
       10% of render-thread CPU time, mostly in world, 44% in its own code (rest is vanilla/library code it called)
       53%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:284   <- LevelRenderer.renderChunkLayer:40702
               hot: me.jellysquid.mods.sodium.client.gl.device.GLRenderDevice$ImmediateDrawCommandList.multiDrawElementsBaseVertex:319 (27%), executing GL32C.nglMultiDrawElementsBaseVertex (27%)
       13%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:218   <- LevelRenderer.setupRender:40729
               hot: me.jellysquid.mods.sodium.client.render.chunk.region.RenderRegionManager.update:51 (22%), executing JNI.invokePV (3.4%)
       8.0%  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 (31%), executing FogRenderer$MobEffectFogFunction.isEnabled:350 (24%)
       removing this cost entirely: about 877 -> 943 fps
  3. [cpu] immediatelyfast costs 0.047 ms per frame on the render thread
       6.0% of render-thread CPU time, mostly in world, 34% 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 (76%), executing RenderStateShard.clearRenderState:41 (11%)
       23%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125   <- LevelRenderer.renderLevel:1283
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (48%), executing RenderStateShard.setupRenderState:37 (18%)
       11%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.getBuffer:68   <- com.eeeab.eeeabsmobs.client.render.LightningManager.render:30
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.addNewFallbackBuffer:187 (31%), executing Map.computeIfAbsent (13%)
       removing this cost entirely: about 877 -> 915 fps
  4. [tick] Each client tick takes 4.02 ms
       20 ticks a second run inline on the render thread, so 20 frames a second each take 4.02 ms longer than the rest (uneven frame pacing).
       punchy 0.18 ms per tick
       collections_of_optimizations 0.54 ms per tick
       linggango_tweaks 0.23 ms per tick
       xaerominimap 0.14 ms per tick
  5. [cpu] xaeroworldmap costs 0.042 ms per frame on the render thread
       5.3% of render-thread CPU time, mostly in no phase, 66% in its own code (rest is vanilla/library code it called)
       98%  xaero.map.events.ClientEventsForge.renderTick:32   <- Minecraft.runTick:1148
               hot: xaero.map.graphics.TextureUploader.uploadTextures:118 (14%), executing GL11C.glFinish (18%)
       removing this cost entirely: about 877 -> 911 fps
  6. [cpu] punchy costs 0.039 ms per frame on the render thread
       4.9% of render-thread CPU time, mostly in world, 76% in its own code (rest is vanilla/library code it called)
       88%  ItemInHandRenderer.punchy$renderFirstPersonModel:1160 [mixin handler from punchy.mixin.client.ItemInHandRendererMixin]   <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96
               hot: punchy.client.state.MovementStateMachine.beginRenderSample:413 (6.4%), executing PoseStack.mulPose:50 (4.0%)
       11%  punchy.platform.ForgeClientPlatform.onClientTick:109   <- Minecraft.tick:1875
               hot: punchy.config.PunchyConfig.getAnimationPackTypeSelection:444 (6.7%), executing DirectMethodHandle$Holder.invokeStatic (11%)
       removing this cost entirely: about 877 -> 908 fps
  7. [cpu] gnetum costs 0.035 ms per frame on the render thread
       4.4% of render-thread CPU time, mostly in hud, 28% 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] (51%), executing ASMEventHandler.invoke:55 (23%)
       removing this cost entirely: about 877 -> 905 fps
  8. [cpu] collections_of_optimizations costs 0.030 ms per frame on the render thread
       3.8% of render-thread CPU time, mostly in client tick, 75% 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 (51%), executing Level.getGameTime:729 (16%)
       6.7%  top.theillusivec4.curios.common.CuriosHelper.coo$fastEquippedMiss:530 [mixin handler from com.misanthropy.collections_of_optimizations.mixin.curios.MixinCuriosHelperFastMiss]   <- top.theillusivec4.curios.common.CuriosHelper.findEquippedCurio
               hot: com.misanthropy.collections_of_optimizations.core.CurioPresenceCache.mayHaveEquipped:65 (100%)
       5.5%  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.6%)
       removing this cost entirely: about 877 -> 901 fps
  9. [stutter] Stutter: whole-process stall
       6 frames over 20 ms, worst 45 ms, 148 ms of extra frame time per minute
 10. [stutter] Stutter: lock wait (flywheel)
       2 frames over 20 ms, worst 27 ms, 42 ms of extra frame time per minute

FRAMES
  58,899 frames   p50 0.88 ms   p95 2.39 ms   p99 5.90 ms   worst 88 ms
  per frame:  tasks 0.026 ms  client tick 0.092 ms  render 0.60 ms  present 0.32 ms  other 0.10 ms
  inside those:  swap 0.32 ms  world 0.47 ms  hud 0.096 ms  screen 0.002 ms
  client tick: 4.02 ms per tick, 20.0 ticks per second
  GPU busy per frame (timer queries): p50 0.54 ms   p95 1.13 ms   p99 1.82 ms

RENDER THREAD CPU BY MOD (sampled; excludes GPU wait, fps limiter and blocked time)
  12,581 samples: CPU work 69%, GPU wait 31%, limiter 0.0%, blocked on other threads 0.3%
  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 glMultiDrawElementsBaseVertex; the mod that made the call is charged for it below
  ms/frame  share  own   mod                          mostly in
  0.10 ms   13%    83%   minecraft (vanilla)          world
  0.079 ms  10%    44%   embeddium                    world
  0.078 ms  9.8%   100%  forge (loader, events)       world
  0.047 ms  6.0%   34%   immediatelyfast              world
  0.042 ms  5.3%   66%   xaeroworldmap                no phase
  0.039 ms  4.9%   76%   punchy                       world
  0.035 ms  4.4%   28%   gnetum                       hud
  0.030 ms  3.8%   75%   collections_of_optimizations client tick
  0.028 ms  3.5%   27%   linggango_tweaks             world
  0.020 ms  2.5%   15%   asyncparticles               world
  0.020 ms  2.5%   15%   oculus                       world
  0.015 ms  1.9%   9.1%  let_there_be_atmosphere      world
  0.014 ms  1.7%   88%   flywheel                     world
  0.013 ms  1.6%   48%   brute_force_culling_revived  world
  0.012 ms  1.6%   46%   xaerolib                     hud
  0.22 ms   170 more below 0.5% each

HOT PATHS (where each mod's render-thread time goes; SRG names translated; <- = called from)
  minecraft (vanilla)  0.10 ms/frame, 13%, hottest vanilla methods:
    8.4%  LevelRenderer.renderLevel:1198  <- me.decce.ixeris.RenderThreadStarter.run:39
          executing Iterators$1.next:146 11%
    8.1%  EntityRenderDispatcher.getRenderer:530  <- me.decce.ixeris.RenderThreadStarter.run:39
    6.5%  Entity.shouldRender:1562  <- me.decce.ixeris.RenderThreadStarter.run:39
  embeddium  0.079 ms/frame, 10%
    53%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:284  <- LevelRenderer.renderChunkLayer:40702
          hot me.jellysquid.mods.sodium.client.gl.device.GLRenderDevice$ImmediateDrawCommandList.multiDrawElementsBaseVertex:319 27%
          executing GL32C.nglMultiDrawElementsBaseVertex 27%
    13%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:218  <- LevelRenderer.setupRender:40729
          hot me.jellysquid.mods.sodium.client.render.chunk.region.RenderRegionManager.update:51 22%
          executing JNI.invokePV 3.4%
    8.0%  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 31%
          executing FogRenderer$MobEffectFogFunction.isEnabled:350 24%
  immediatelyfast  0.047 ms/frame, 6.0%
    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 76%
          executing RenderStateShard.clearRenderState:41 11%
    23%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125  <- LevelRenderer.renderLevel:1283
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 48%
          executing RenderStateShard.setupRenderState:37 18%
    11%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.getBuffer:68  <- com.eeeab.eeeabsmobs.client.render.LightningManager.render:30
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.addNewFallbackBuffer:187 31%
          executing Map.computeIfAbsent 13%
  xaeroworldmap  0.042 ms/frame, 5.3%
    98%   xaero.map.events.ClientEventsForge.renderTick:32  <- Minecraft.runTick:1148
          hot xaero.map.graphics.TextureUploader.uploadTextures:118 14%
          executing GL11C.glFinish 18%
  punchy  0.039 ms/frame, 4.9%
    88%   ItemInHandRenderer.punchy$renderFirstPersonModel:1160 [mixin handler from punchy.mixin.client.ItemInHandRendererMixin]  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96
          hot punchy.client.state.MovementStateMachine.beginRenderSample:413 6.4%
          executing PoseStack.mulPose:50 4.0%
    11%   punchy.platform.ForgeClientPlatform.onClientTick:109  <- Minecraft.tick:1875
          hot punchy.config.PunchyConfig.getAnimationPackTypeSelection:444 6.7%
          executing DirectMethodHandle$Holder.invokeStatic 11%
  gnetum  0.035 ms/frame, 4.4%
    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] 51%
          executing ASMEventHandler.invoke:55 23%
  collections_of_optimizations  0.030 ms/frame, 3.8%
    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 51%
          executing Level.getGameTime:729 16%
    6.7%  top.theillusivec4.curios.common.CuriosHelper.coo$fastEquippedMiss:530 [mixin handler from com.misanthropy.collections_of_optimizations.mixin.curios.MixinCuriosHelperFastMiss]  <- top.theillusivec4.curios.common.CuriosHelper.findEquippedCurio
          hot com.misanthropy.collections_of_optimizations.core.CurioPresenceCache.mayHaveEquipped:65 100%
    5.5%  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.6%
  linggango_tweaks  0.028 ms/frame, 3.5%
    26%   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 19%
    19%   com.misanthropy.linggango.linggango_tweaks.client.DynamicCrosshairHandler.onRenderCrosshair:205  <- ForgeGui.gnetum$postEvent:3130 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin]
          executing GL20C.glUseProgram 26%
    16%   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 44%
          executing GL30C.glBindFramebuffer 19%

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

STUTTERS (frames over 20 ms, grouped by what was happening during them)
  frames  worst     extra/min   cause
  6       45 ms     148 ms      whole-process stall
  2       88 ms     109 ms      JVM safepoint for a stack sample (profiler overhead, not your mods)
  1       70 ms     62 ms       vanilla minecraft: LayerLightSectionStorage.removeSection
  2       27 ms     42 ms       lock wait (flywheel)
  2       25 ms     40 ms       unexplained (present)
  1       33 ms     29 ms       unexplained (render)
  1       32 ms     28 ms       subtle_effects: einstein.subtle_effects.particle.SplashRippleParticle$Provider.createParticle
  1       31 ms     27 ms       linggango_tweaks: com.misanthropy.linggango.linggango_tweaks.ambience.StepSounds.isClink
  1       27 ms     23 ms       entity_texture_features: traben.entity_texture_features.features.state.ETFEntityRenderState.forEntity
  1       25 ms     22 ms       mekanism: mekanism.common.util.MekanismUtils.isPlayingMode
  1       23 ms     20 ms       vanilla minecraft: GlStateManager._glBindVertexArray
  1       22 ms     18 ms       ixeris: me.decce.ixeris.core.glfw.callback_dispatcher.KeyCallbackDispatcher.lambda$onCallback$0

  worst frames:
  08:02:08.555  88 ms    render 87 ms          JVM safepoint for a stack sample (profiler overhead, not your mods)
                             84 ms with every thread stopped for a stack sample (this profiler or spark); a thread was slow to reach the safepoint
  08:01:57.351  70 ms    render 64 ms          vanilla minecraft: LayerLightSectionStorage.removeSection
                             9 of 14 samples, hottest line LayerLightSectionStorage.removeSection:281
  08:01:58.535  45 ms    render 45 ms          whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)
  08:02:13.635  36 ms    present 36 ms         JVM safepoint for a stack sample (profiler overhead, not your mods)
                             35 ms with every thread stopped for a stack sample (this profiler or spark); a thread was slow to reach the safepoint
  08:01:59.905  34 ms    client tick 32 ms     whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)
  08:02:02.771  33 ms    render 0.63 ms        unexplained (render)
                             1 stack samples landed inside this frame, too few to name a cause
  08:02:02.054  32 ms    client tick 4.45 ms   subtle_effects: einstein.subtle_effects.particle.SplashRippleParticle$Provider.createParticle
                             4 of 7 samples, hottest line einstein.subtle_effects.particle.SplashRippleParticle$Provider.createParticle:90
  08:02:04.501  31 ms    render 25 ms          linggango_tweaks: com.misanthropy.linggango.linggango_tweaks.ambience.StepSounds.isClink
                             2 of 2 samples, hottest line Entity.adaptEntityRenderDist:37609 [mixin redirect from com.misanthropy.linggango.linggango_tweaks.mixin.embeddium.RenderDistanceCullingMixin$EntityCullMixin]
  08:02:01.301  30 ms    client tick 26 ms     whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)
  08:02:05.986  27 ms    render 27 ms          lock wait (flywheel)
                             25 ms blocked on a monitor held by another thread

MEMORY AND GC
  allocated 57.5 GB (874 MB/s, exact, all threads), max heap 10.0 GB
  81 GC pauses (0 old/full), 851 ms paused (1.3%), worst 44 ms, one every 0.8 s
  live data after GC 7.8 GB (78% of max), changed by 1.9 GB over the recording
  by mod (JFR samples scaled to each thread's exact allocation; 100% of bytes covered):
    151 MB/s  17%    collections_of_optimizations 1,515 samples
        8.9%  com.misanthropy.collections_of_optimizations.core.FeaturePlacement.step:63 -> BlockPos
        8.3%  com.misanthropy.collections_of_optimizations.core.FeaturePlacement.step:63 -> Iterators$9
        8.3%  com.misanthropy.collections_of_optimizations.core.FeaturePlacement.step:58 -> ReferencePipeline$Head
    150 MB/s  17%    fastchunkgen              1,556 samples
        9.7%  NoiseChunk.lambda$wrap$0:4484 [mixin merged from com.misanthropy.fastchunkgen.opts.worldgen.vanilla.mixin.noise_chunk_wrap.MixinNoiseChunk] -> [D
        8.5%  com.misanthropy.fastchunkgen.base.common.util.InvokingExecutorService.execute:88 -> Double
        5.4%  NoiseChunk.fcg$interpolatedState:4069 [mixin merged from com.misanthropy.fastchunkgen.opts.worldgen.vanilla.mixin.fill.MixinNoiseChunk] -> CallbackInfoReturnable
    148 MB/s  17%    lithoform                 1,536 samples
        22%  com.misanthropy.lithoform.bowl.BowlOffset.compute:25 -> DensityFunctions$Spline$Point
        12%  com.misanthropy.lithoform.compat.LandProvinces.province:495 -> Climate$TargetPoint
        12%  com.misanthropy.lithoform.compat.LandProvinces.province:496 -> [J
    86 MB/s   9.6%   minecraft (vanilla)       3,419 samples
        16%  SkyLightSectionStorage$SkyDataLayerStorageMap.copy:164 -> [J
        10%  BlockLightSectionStorage$BlockDataLayerStorageMap.copy:36 -> [J
        8.7%  SkyLightSectionStorage$SkyDataLayerStorageMap.copy:164 -> Object;
    33 MB/s   3.7%   jdk                       223 samples
        100%  IdentityHashMap$KeySet.iterator -> IdentityHashMap$KeyIterator
    29 MB/s   3.3%   xaeroworldmap             182 samples
        82%  xaero.map.misc.ConsistentBitArray.<init>:30 -> [J
        6.3%  xaero.map.region.texture.RegionTexture.<init>:78 -> ConsistentBitArray
    29 MB/s   3.3%   modernfix                 561 samples
        63%  org.embeddedt.modernfix.world.gen.PrefetchingBlockColumn.setBlock:113 -> CallbackInfoReturnable
        7.6%  org.embeddedt.modernfix.structure.CachingStructureManager.readStructure:39 -> StructureTemplate$StructureBlockInfo
    28 MB/s   3.2%   alexscaves                225 samples
        24%  com.github.alexmodguy.alexscaves.server.level.biome.ACBiomeRarity.getRareBiomeInfoForQuad -> CallbackInfoReturnable
        16%  com.github.alexmodguy.alexscaves.server.config.BiomeGenerationNoiseCondition.test:102 -> DensityFunctions$Spline$Point
        14%  com.github.alexmodguy.alexscaves.server.config.BiomeGenerationNoiseCondition.test:102 -> Climate$TargetPoint
    24 MB/s   2.7%   radium                    321 samples
        60%  CompoundTag.useFasterCollection:1129 [mixin modify from me.jellysquid.mods.lithium.mixin.alloc.nbt.NbtCompoundMixin] -> Object;
        9.7%  CompoundTag.useFasterCollection:1129 [mixin modify from me.jellysquid.mods.lithium.mixin.alloc.nbt.NbtCompoundMixin] -> Object2ObjectOpenHashMap
        9.1%  LevelChunkSection.setBlockStateNoLocking:521 [mixin redirect from me.jellysquid.mods.lithium.mixin.chunk.no_locking.ChunkSectionMixin] -> CallbackInfoReturnable
    20 MB/s   2.3%   revelationfix             155 samples
        23%  com.mega.revelationfix.common.structures.FrostyardGenerationProtection$Context.contains:88 -> 1815874445
        18%  com.mega.revelationfix.common.structures.FrostyardGenerationProtection$Context.contains:88 -> Long
        7.9%  com.mega.revelationfix.common.structures.FrostyardGenerationProtection$Context.collect:127 -> HashMap$EntryIterator

INTEGRATED SERVER (single player; this is world lag, not FPS)
  1,307 ticks, mspt mean 11 ms, p50 9.44 ms, p95 20 ms, worst 714 ms, 5 over 50 ms
    2.28 ms/tick  20%    minecraft (vanilla)       
    0.98 ms/tick  8.6%   collections_of_optimizations ServerLevel.coo$growthTick:10142 [mixin modifyExpressionValue from com.misanthropy.collections_of_optimizations.mixin.immersiveweathering.MixinServerLevelGrowthTick]
    0.86 ms/tick  7.6%   fastchunkgen              ServerChunkCache.beforeAwaitChunk:6611 [mixin redirect from com.misanthropy.fastchunkgen.base.mixin.priority.MixinServerChunkManager]
    0.62 ms/tick  5.5%   forge (loader, events)    
    0.52 ms/tick  4.6%   alexsmobs                 com.github.alexthe666.alexsmobs.entity.EntityGorilla.tick:361
    0.38 ms/tick  3.3%   radium                    EntitySectionStorage.forEachInBox:555 [mixin handler from me.jellysquid.mods.lithium.mixin.entity.fast_retrieval.SectionedEntityCacheMixin]
    0.33 ms/tick  2.9%   pehkui                    Entity.pehkui$tick:38737 [mixin handler from virtuoel.pehkui.mixin.EntityMixin]
    0.28 ms/tick  2.4%   terramity                 net.mcreator.terramity.entity.GreenFairyEntity.aiStep:213

THREADS (exact CPU per thread group; 'runs' = what JFR saw executing on it)
  the game used 6.88 of 16 cores, whole machine 69% busy
  cores  n    allocated   group                            runs
  4.79   23   34.7 GB     FastChunkGen worker ##           lithoform 55%, fastchunkgen 13%, collections_of_optimizations 11%
  0.67   1    8.6 GB      Render thread                    xaeroworldmap 12%, punchy 9.7%, minecraft 9.3%
  0.37   15   4.6 GB      ForkJoinPool.commonPool-worker-# lithoform 65%, ae2 9.2%, mowziesmobs 8.2%
  0.24   1    3.6 GB      Server thread                    minecraft 34%, collections_of_optimizations 8.4%
  0.23   1    1.0 GB      Linggango Streams                lithoform 75%, linggango_tweaks 20%
  0.17   10   979 MB      Chunk Render Task Executor ##    embeddium 44%, minecraft 40%, linggango_tweaks 5.3%
  0.11   10   46 MB       Flywheel Task Executor ##        flywheel 100%
  0.08   6    294 MB      Lumenite light #                 lumenite 70%, minecraft 29%
  0.03   1    400 KB      spark-monitoring-thread          too few samples
  0.02   1    853 KB      whatslaggin-threads              too few samples
  0.02   15   46 MB       Worker-Main-#                    minecraft 52%, jdk 45%
  0.02   1    833 MB      JFR Event Stream #               no JFR samples (idle or native)

ENTITIES, BLOCK ENTITIES, SCREENS (exact timings; per second of recording)
  entity render:
    3.21 ms/s  37/s     87 us    alexsmobs:anteater                          worst 5.29 ms at 1150, 155, 753
    1.81 ms/s  21/s     85 us    alexsmobs:komodo_dragon                     worst 2.81 ms at 1195, 161, 750
    1.44 ms/s  27/s     54 us    alexsmobs:emu                               worst 3.03 ms at 274, 109, 767
  entity tick:
    20 ms/s    20/s     994 us   minecraft:player                            worst 22 ms at 1453, 200, 778
    1.11 ms/s  26/s     43 us    alexsmobs:gorilla                           worst 0.31 ms at 901, 92, 778
    1.09 ms/s  19/s     57 us    alexsmobs:emu                               worst 28 ms at 1489, 188, 785
  server entity tick:
    12 ms/s    169/s    74 us    terramity:green_fairy                       worst 14 ms at 1031, 116, 718
    3.95 ms/s  181/s    22 us    minecraft:item                              worst 2.70 ms at 1346, 200, 761
    3.20 ms/s  14/s     231 us   minecraft:player                            worst 19 ms at 1329, 200, 777
    3.10 ms/s  28/s     113 us   alexsmobs:gorilla                           worst 8.79 ms at 1031, 115, 814
    2.39 ms/s  31/s     77 us    ars_nouveau:starbuncle                      worst 0.79 ms at 1148, 155, 754
    2.18 ms/s  16/s     135 us   alexsmobs:leafcutter_ant                    worst 1.45 ms at 1497, 191, 788
    2.03 ms/s  13/s     160 us   minecraft:frog                              worst 13 ms at 916, 97, 775
  server block entity tick:
    0.92 ms/s  1,098/s  1 us     minecraft:sculk_sensor                      worst 20 ms at 1491, -41, 812
  screen:
    2.16 ms/s  26/s     84 us    net.minecraft.client.gui.screens.ChatScreen worst 0.99 ms

JVM AND I/O
  class loads over 1 ms: 123 (379 ms), on the render/server thread 42 (124 ms)
    by owner: minecraft 31 classes, 110 ms; create 25 classes, 94 ms; saintsdragons 24 classes, 71 ms; library 8 classes, 20 ms; goety 1 classes, 9.96 ms
  render thread lock: 195 ms in 37 events, flywheel at dev.engine_room.flywheel.impl.task.ThreadGroupNotifier.postNotification:16 (ThreadGroupNotifier)
  render thread file I/O: 17 ms in 5 events, modernfix at ModelManager.lambda$deferBlockModelLoad$0:561 [mixin merged from org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.ModelManagerMixin] (1.20.1-20230612.114412/client-1.20.1-20230612.114412-extra.jar)
  render thread file I/O: 3.80 ms in 1 events, subtle_effects at einstein.subtle_effects.util.FluidLogicAccessor.subtleEffects$updateFluidDefinitionHeight:64 (8.5.9/fastutil-8.5.9.jar)
  render thread file I/O: 2.95 ms in 1 events, radium at me.jellysquid.mods.lithium.common.world.chunk.LithiumHashPalette.mixinextras$bridge$newReference2IntOpenHashMap$18 (8.5.9/fastutil-8.5.9.jar)
  non-GC safepoints: 140 ms total (last: ThreadDump)
  log output: 0.3 lines/s
  exceptions thrown: 48.8/s, top: 3.1/s  NoSuchFileException from modernfix at ModelManager.lambda$deferBlockStateLoad$3:568 [mixin merged from org.embeddedt.modernfix.common.mixin.perf.dynamic_resources.ModelManagerMixin]

MOD VERSIONS (mods named in the findings)
  embeddium 0.3.32-beta.113-dirty+mc1.20.1;  immediatelyfast 1.5.5+1.20.4;  xaeroworldmap 1.46.0;  punchy 2.8c;  
  gnetum 2.5.1+1.20.1-forge;  collections_of_optimizations 5.31;  linggango_tweaks 7.33;  xaerominimap 26.5.0;  
  ;  flywheel 1.0.5;  

RECORDING
  stack sampler every 5 ms: 12,581 render-thread, 2,508 server-thread samples (server only while ticking)
  JFR on (cpu, allocation, locks, file io, class loading, safepoints, exceptions): 22,235 CPU samples, 18,859 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
