WhatsLaggin report (manual)  31.2 s recorded, ended 2026-10-22 08:05:14
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, 177 entities loaded

VERDICT
  903 fps average (1.11 ms per frame), 1% low 215 fps, 0.1% low 112 fps.
  CPU-BOUND: the render thread is busy for 0.82 ms of each frame; the GPU wait is only 0.28 ms. Cutting render-thread work raises FPS directly.
  1 stutters over 20 ms (1.9 per minute), worst 75 ms. Biggest cause: GC pause (G1 Young Generation).

WHAT TO FIX (ranked by time lost per second of play)
  1. [cpu] embeddium costs 0.089 ms per frame on the render thread
       11% of render-thread CPU time, mostly in world, 49% 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 (41%), executing GL32C.nglMultiDrawElementsBaseVertex (26%)
       7.0%  me.jellysquid.mods.sodium.client.util.sorting.VertexSorters$AbstractVertexSorter.sort:29   <- BufferBuilder.putSortedQuadIndices:6098
               hot: me.jellysquid.mods.sodium.client.util.sorting.InsertionSort.insertionSort:25 (49%)
       6.4%  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 (44%), executing FogRenderer$MobEffectFogFunction.isEnabled:350 (31%)
       removing this cost entirely: about 903 -> 982 fps
  2. [cpu] geckolib costs 0.084 ms per frame on the render thread
       10% of render-thread CPU time, mostly in world, 50% in its own code (rest is vanilla/library code it called)
       94%  software.bernie.geckolib.renderer.GeoEntityRenderer.render:157   <- EntityRenderDispatcher.mixinextras$bridge$m_7392_$80
               hot: software.bernie.geckolib.renderer.GeoRenderer.createVerticesOfQuad:526 (36%), executing BufferBuilder.endVertex:263 (33%)
       5.6%  TextureManager.wrapAnimatableTexture:1524 [mixin handler from software.bernie.geckolib.mixin.client.TextureManagerMixin]   <- TextureManager.getTexture
               executing HashMap.hash (96%)
       removing this cost entirely: about 903 -> 977 fps
  3. [cpu] immediatelyfast costs 0.060 ms per frame on the render thread
       7.5% of render-thread CPU time, mostly in world, 26% in its own code (rest is vanilla/library code it called)
       45%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105   <- LevelRenderer.renderLevel:1228
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (66%), executing GL15C.nglBufferSubData (21%)
       29%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116   <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96:327
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (81%), executing RenderStateShard.clearRenderState:41 (13%)
       11%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125   <- LevelRenderer.renderLevel:1283
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (32%), executing RenderStateShard.setupRenderState:37 (16%)
       removing this cost entirely: about 903 -> 955 fps
  4. [world] cnb:yeti (entity render) costs 50 ms every second
       31,888 calls, 49 us each, worst 6.29 ms at 2479, 68, 773
  5. [cpu] linggango_tweaks costs 0.036 ms per frame on the render thread
       4.5% of render-thread CPU time, mostly in world, 36% in its own code (rest is vanilla/library code it called)
       24%  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 (24%), executing VertexConsumer.color:47 (29%)
       17%  com.misanthropy.linggango.linggango_tweaks.lumalight.LumalightClient.onRenderLevel:91   <- GameRenderer.renderLevel:1128
               hot: com.misanthropy.linggango.linggango_tweaks.lumalight.PostEffectRenderer.draw:210 (32%), executing GL20C.nglUniform4fv (15%)
       11%  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 (30%), executing GL30C.glBindFramebuffer (13%)
       removing this cost entirely: about 903 -> 933 fps
  6. [cpu] collections_of_optimizations costs 0.033 ms per frame on the render thread
       4.1% of render-thread CPU time, mostly in world, 66% in its own code (rest is vanilla/library code it called)
       15%  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 (39%), executing Level.getChunk:4541 (21%)
       9.7%  BiomeManager.coo$cacheQuartLookup:1065 [mixin redirect from com.misanthropy.collections_of_optimizations.mixin.vanilla.MixinBiomeManagerQuartCache]   <- BiomeManager.getNoiseBiomeAtQuart:97
               executing LevelReader.getNoiseBiome:58 (78%)
       9.7%  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 (22%)
       removing this cost entirely: about 903 -> 931 fps
  7. [cpu] punchy costs 0.029 ms per frame on the render thread
       3.6% of render-thread CPU time, mostly in world, 75% in its own code (rest is vanilla/library code it called)
       82%  ItemInHandRenderer.punchy$renderFirstPersonModel:1160 [mixin handler from punchy.mixin.client.ItemInHandRendererMixin]   <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96
               hot: punchy.client.render.PunchyArmRenderer.renderItemInHand:2627 (5.3%), executing PoseStack.mulPose:50 (5.3%)
       16%  punchy.platform.ForgeClientPlatform.onClientTick:109   <- Minecraft.tick:1875
               hot: punchy.client.state.SpearStateMachine.isSpearChargeType:372 (7.7%), executing StringLatin1.toLowerCase (12%)
       removing this cost entirely: about 903 -> 927 fps

FRAMES
  28,116 frames   p50 0.96 ms   p95 1.56 ms   p99 3.96 ms   worst 75 ms
  per frame:  tasks 0.004 ms  client tick 0.063 ms  render 0.71 ms  present 0.29 ms  other 0.040 ms
  inside those:  swap 0.28 ms  world 0.60 ms  hud 0.093 ms  screen 0.003 ms
  client tick: 2.83 ms per tick, 20.0 ticks per second

RENDER THREAD CPU BY MOD (sampled; excludes GPU wait, fps limiter and blocked time)
  6,220 samples: CPU work 72%, GPU wait 28%, limiter 0.0%, blocked on other threads 0.0%
  mods caused 80% of render-thread CPU work, vanilla/forge/driver the rest
  16% 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.095 ms  12%    82%   minecraft (vanilla)          world
  0.089 ms  11%    49%   embeddium                    world
  0.084 ms  10%    50%   geckolib                     world
  0.065 ms  8.1%   100%  forge (loader, events)       world
  0.060 ms  7.5%   26%   immediatelyfast              world
  0.036 ms  4.5%   36%   linggango_tweaks             world
  0.033 ms  4.1%   66%   collections_of_optimizations world
  0.029 ms  3.6%   75%   punchy                       world
  0.026 ms  3.3%   25%   gnetum                       hud
  0.022 ms  2.8%   13%   oculus                       world
  0.022 ms  2.7%   20%   asyncparticles               world
  0.019 ms  2.3%   14%   goetyawaken                  world
  0.014 ms  1.7%   77%   xaeroworldmap                no phase
  0.013 ms  1.6%   47%   brute_force_culling_revived  world
  0.010 ms  1.2%   70%   pehkui                       world
  0.18 ms   120 more below 0.5% each

HOT PATHS (where each mod's render-thread time goes; SRG names translated; <- = called from)
  minecraft (vanilla)  0.095 ms/frame, 12%, hottest vanilla methods:
    19%   EntityRenderDispatcher.getRenderer:530  <- me.decce.ixeris.RenderThreadStarter.run:39
    18%   Entity.shouldRender:1562  <- me.decce.ixeris.RenderThreadStarter.run:39
    11%   LevelRenderer.renderLevel:1198  <- me.decce.ixeris.RenderThreadStarter.run:39
          executing Iterators$1.next:146 16%
  embeddium  0.089 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 41%
          executing GL32C.nglMultiDrawElementsBaseVertex 26%
    7.0%  me.jellysquid.mods.sodium.client.util.sorting.VertexSorters$AbstractVertexSorter.sort:29  <- BufferBuilder.putSortedQuadIndices:6098
          hot me.jellysquid.mods.sodium.client.util.sorting.InsertionSort.insertionSort:25 49%
    6.4%  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 44%
          executing FogRenderer$MobEffectFogFunction.isEnabled:350 31%
  geckolib  0.084 ms/frame, 10%
    94%   software.bernie.geckolib.renderer.GeoEntityRenderer.render:157  <- EntityRenderDispatcher.mixinextras$bridge$m_7392_$80
          hot software.bernie.geckolib.renderer.GeoRenderer.createVerticesOfQuad:526 36%
          executing BufferBuilder.endVertex:263 33%
    5.6%  TextureManager.wrapAnimatableTexture:1524 [mixin handler from software.bernie.geckolib.mixin.client.TextureManagerMixin]  <- TextureManager.getTexture
          executing HashMap.hash 96%
  immediatelyfast  0.060 ms/frame, 7.5%
    45%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105  <- LevelRenderer.renderLevel:1228
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 66%
          executing GL15C.nglBufferSubData 21%
    29%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96:327
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 81%
          executing RenderStateShard.clearRenderState:41 13%
    11%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125  <- LevelRenderer.renderLevel:1283
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 32%
          executing RenderStateShard.setupRenderState:37 16%
  linggango_tweaks  0.036 ms/frame, 4.5%
    24%   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 24%
          executing VertexConsumer.color:47 29%
    17%   com.misanthropy.linggango.linggango_tweaks.lumalight.LumalightClient.onRenderLevel:91  <- GameRenderer.renderLevel:1128
          hot com.misanthropy.linggango.linggango_tweaks.lumalight.PostEffectRenderer.draw:210 32%
          executing GL20C.nglUniform4fv 15%
    11%   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 30%
          executing GL30C.glBindFramebuffer 13%
  collections_of_optimizations  0.033 ms/frame, 4.1%
    15%   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 39%
          executing Level.getChunk:4541 21%
    9.7%  BiomeManager.coo$cacheQuartLookup:1065 [mixin redirect from com.misanthropy.collections_of_optimizations.mixin.vanilla.MixinBiomeManagerQuartCache]  <- BiomeManager.getNoiseBiomeAtQuart:97
          executing LevelReader.getNoiseBiome:58 78%
    9.7%  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 22%
  punchy  0.029 ms/frame, 3.6%
    82%   ItemInHandRenderer.punchy$renderFirstPersonModel:1160 [mixin handler from punchy.mixin.client.ItemInHandRendererMixin]  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96
          hot punchy.client.render.PunchyArmRenderer.renderItemInHand:2627 5.3%
          executing PoseStack.mulPose:50 5.3%
    16%   punchy.platform.ForgeClientPlatform.onClientTick:109  <- Minecraft.tick:1875
          hot punchy.client.state.SpearStateMachine.isSpearChargeType:372 7.7%
          executing StringLatin1.toLowerCase 12%
  gnetum  0.026 ms/frame, 3.3%
    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] 54%
          executing ASMEventHandler.invoke:55 23%

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

  worst frames:
  08:04:48.167  75 ms    render 75 ms          GC pause (G1 Young Generation)
                             40 ms of the frame was a stop-the-world collection

MEMORY AND GC
  allocated 5.6 GB (184 MB/s, exact, all threads), max heap 10.0 GB
  4 GC pauses (0 old/full), 103 ms paused (0.3%), worst 73 ms, one every 7.8 s
  live data after GC 5.5 GB (55% of max), changed by -491617136 B over the recording
  by mod (JFR samples scaled to each thread's exact allocation; 100% of bytes covered):
    88 MB/s   33%    jdk                       230 samples
        100%  IdentityHashMap$KeySet.iterator -> IdentityHashMap$KeyIterator
    39 MB/s   14%    geckolib                  296 samples
        20%  software.bernie.geckolib.renderer.GeoRenderer.renderCube:305 -> Vector3f
        8.4%  software.bernie.geckolib.renderer.GeoRenderer.renderCubesOfBone:268 -> Matrix4f
        8.1%  software.bernie.geckolib.renderer.GeoEntityRenderer.renderRecursively:290 -> Matrix4f
    23 MB/s   8.4%   minecraft (vanilla)       445 samples
        3.5%  PoseStack.<init>:14 -> Object;
    18 MB/s   6.5%   immediatelyfast           135 samples
        30%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.lambda$addNewFallbackBuffer$1:188 -> [J
        22%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 -> Vector3f
        7.4%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.lambda$addNewFallbackBuffer$1:188 -> Object;
    11 MB/s   4.1%   goetyawaken               84 samples
        21%  com.k1sak1.goetyawaken.client.ClientEvents.onRenderFog:413 -> Collections$UnmodifiableCollection
        19%  com.k1sak1.goetyawaken.client.ClientEvents.onRenderFog:413 -> LongAVLTreeSet$Subset
        9.5%  com.k1sak1.goetyawaken.client.ClientEvents.onRenderLevelStage:464 -> Collections$UnmodifiableCollection
    11 MB/s   4.1%   embeddium                 237 samples
        15%  BufferBuilder.onFormatChanged:5580 [mixin handler from me.jellysquid.mods.sodium.mixin.core.render.immediate.consumer.BufferBuilderMixin] -> SodiumBufferBuilder
        11%  me.jellysquid.mods.sodium.client.util.sorting.AbstractSort.createIndexBuffer:6 -> [I
        11%  me.jellysquid.mods.sodium.client.util.sorting.VertexSorters$AbstractVertexSorter.mergeSort:33 -> [F
    10 MB/s   3.6%   punchy                    74 samples
        5.4%  punchy.client.render.ToolKindResolver.isFishingRodStack:211 -> CallbackInfoReturnable
    5 MB/s    2.0%   collections_of_optimizations 54 samples
        19%  com.misanthropy.collections_of_optimizations.core.FancyMenuGuiPoseStack.pushPose:26 -> Matrix4f
        9.7%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.coo$singleLookupGetBuffer:1118 [mixin handler from com.misanthropy.collections_of_optimizations.mixin.immediatelyfast.MixinBatchableBufferSource] -> Collections$SingletonSet
        7.3%  com.misanthropy.collections_of_optimizations.core.SubtleEffectsDisplayTick.run:187 -> 485099637
    5 MB/s    2.0%   linggango_tweaks          124 samples
        22%  snownee.jade.overlay.DisplayHelper.drawText:429 -> 1177743498
        15%  snownee.jade.overlay.DisplayHelper.drawText:429 -> CallbackInfo
        12%  snownee.jade.overlay.DisplayHelper.drawText:429 -> CallbackInfoReturnable
    5 MB/s    2.0%   asyncparticles            549 samples
        35%  ClientLevel.asyncparticles_shouldSyncAnimateTick:24108 [mixin wrapOperation from forge.fun.qu_an.minecraft.asyncparticles.client.mixin.core.animate_tick.MixinClientLevel_AnimateTick] -> Object;
        22%  forge.fun.qu_an.minecraft.asyncparticles.client.util.IterationSafeArrayList.listIterator:163 -> IterationSafeArrayList$ListItr
        7.7%  forge.fun.qu_an.minecraft.asyncparticles.client.compat.create.CreateUtil.forEachContraption:47 -> HashMap$ValueIterator

INTEGRATED SERVER (single player; this is world lag, not FPS)
  624 ticks, mspt mean 6.29 ms, p50 6.03 ms, p95 8.06 ms, worst 80 ms, 1 over 50 ms
    1.44 ms/tick  23%    minecraft (vanilla)       
    0.83 ms/tick  13%    collections_of_optimizations ServerLevel.coo$growthTick:10142 [mixin modifyExpressionValue from com.misanthropy.collections_of_optimizations.mixin.immersiveweathering.MixinServerLevelGrowthTick]
    0.39 ms/tick  6.3%   forge (loader, events)    
    0.21 ms/tick  3.3%   radium                    ServerLevel.redirectBlockStateTick:4159 [mixin redirect from me.jellysquid.mods.lithium.mixin.alloc.chunk_random.ServerWorldMixin]
    0.20 ms/tick  3.1%   pehkui                    Entity.pehkui$tick:38737 [mixin handler from virtuoel.pehkui.mixin.EntityMixin]
    0.18 ms/tick  2.8%   ending_library            Level.guardEntityTick:13552 [mixin handler from com.mega.endinglib.mixin.time.time.LevelMixin]
    0.17 ms/tick  2.7%   servercore                ServerChunkCache.servercore$updateCachedChunks:1641 [mixin modifyExpressionValue from me.wesley1808.servercore.mixin.optimizations.ticking.chunk.cache.ServerChunkCacheMixin]
    0.13 ms/tick  2.1%   simplyswords              ServerLevel.simplyswords$tickFieldManagers:23215 [mixin handler from net.sweenus.simplyswords.mixin.ServerWorldMixin]

THREADS (exact CPU per thread group; 'runs' = what JFR saw executing on it)
  the game used 1.16 of 16 cores, whole machine 22% busy
  cores  n    allocated   group                            runs
  0.75   1    4.7 GB      Render thread                    geckolib 16%, minecraft 8.0%, collections_of_optimizations 7.7%
  0.13   1    684 MB      Server thread                    minecraft 30%, collections_of_optimizations 5.9%, pehkui 5.0%
  0.13   10   25 MB       Flywheel Task Executor ##        too few samples
  0.03   1    151 KB      spark-monitoring-thread          no JFR samples (idle or native)
  0.02   1    76 MB       JFR Event Stream #               no JFR samples (idle or native)
  0.02   1    414 KB      whatslaggin-threads              no JFR samples (idle or native)

ENTITIES, BLOCK ENTITIES, SCREENS (exact timings; per second of recording)
  entity render:
    50 ms/s    1,022/s  49 us    cnb:yeti                                    worst 6.29 ms at 2479, 68, 773
    19 ms/s    901/s    21 us    crittersandcompanions:snail                 worst 0.28 ms at 2503, 69, 761
    12 ms/s    664/s    18 us    terramity:pink_fairy                        worst 0.26 ms at 2495, 72, 788
    9.83 ms/s  620/s    16 us    terramity:green_fairy                       worst 1.08 ms at 2493, 70, 793
  entity tick:
    8.47 ms/s  20/s     423 us   minecraft:player                            worst 1.41 ms at 2527, 68, 778
    1.51 ms/s  32/s     47 us    minecraft:squid                             worst 0.20 ms at 2545, 60, 820
    1.11 ms/s  50/s     22 us    crittersandcompanions:koi_fish              worst 0.15 ms at 2538, 57, 829
  server entity tick:
    9.47 ms/s  1,308/s  7 us     minecraft:item                              worst 0.35 ms at 2521, 10, 889
    5.71 ms/s  174/s    33 us    minecraft:creeper                           worst 0.65 ms at 2537, 2, 828
    3.59 ms/s  70/s     51 us    terramity:green_fairy                       worst 0.48 ms at 2495, 74, 791
    2.73 ms/s  57/s     48 us    alexsmobs:blue_jay                          worst 0.37 ms at 2573, 68, 754
    2.38 ms/s  98/s     24 us    minecraft:salmon                            worst 0.29 ms at 2513, 54, 832
  screen:
    2.32 ms/s  31/s     74 us    net.minecraft.client.gui.screens.ChatScreen worst 0.21 ms

JVM AND I/O
  class loads over 1 ms: 0 (0 ms), on the render/server thread 0 (0 ms)
  non-GC safepoints: 6.19 ms total (last: ThreadDump)
  log output: 0.1 lines/s
  exceptions thrown: 2.4/s, top: 0.1/s  NoSuchFileException from revelationfix at com.mega.revelationfix.util.entity.EntityActuallyHurt$1.computeValue:70

MOD VERSIONS (mods named in the findings)
  embeddium 0.3.32-beta.113-dirty+mc1.20.1;  geckolib 4.8.4;  immediatelyfast 1.5.5+1.20.4;  
  linggango_tweaks 7.33;  collections_of_optimizations 5.31;  punchy 2.8c;  cnb 1.7.10;  

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