WhatsLaggin report (manual)  1m03s recorded, ended 2026-10-22 14:38:13
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, 110 entities loaded

VERDICT
  905 fps average (1.11 ms per frame), 1% low 246 fps, 0.1% low 175 fps.
  GPU-BOUND: 0.40 ms of each frame (37%) is the CPU waiting for the GPU. The CPU part is only 0.70 ms.
  Optimising mod code on the render thread will not raise FPS until the GPU load drops.
  1 stutters over 20 ms (1.0 per minute), worst 22 ms.

WHAT TO FIX (ranked by time lost per second of play)
  1. [gpu] GPU-bound: 37% of every frame is spent waiting on the GPU
       The CPU finishes its part of a frame in 0.70 ms and then waits 0.40 ms in glfwSwapBuffers for the GPU.
       GPU time for the frame's draw calls: p50 0.75 ms, p95 0.90 ms (timer queries).
       Cutting CPU work (mods below) will NOT raise FPS until GPU load drops.
       Biggest GPU levers: render distance (16), resolution (3440x1440), graphics mode (fancy)
  2. [world] terramity:green_fairy (entity render) costs 27 ms every second
       116,331 calls, 15 us each, worst 0.57 ms at 2501, 82, 785
  3. [world] alexsmobs:blue_jay (entity render) costs 22 ms every second
       48,593 calls, 29 us each, worst 0.65 ms at 2500, 70, 747
  4. [cpu] embeddium costs 0.080 ms per frame on the render thread
       12% of render-thread CPU time, mostly in world, 51% in its own code (rest is vanilla/library code it called)
       77%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:284   <- LevelRenderer.renderChunkLayer:40702
               hot: me.jellysquid.mods.sodium.client.render.chunk.DefaultChunkRenderer.fillCommandBuffer:165 (42%), executing GL32C.nglMultiDrawElementsBaseVertex (26%)
       4.7%  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 (35%), executing FogRenderer$MobEffectFogFunction.isEnabled:350 (19%)
       4.7%  ShaderInstance.uploadUniforms:4132 [mixin redirect from me.jellysquid.mods.sodium.mixin.features.shader.uniform.ShaderProgramMixin]   <- ShaderInstance.apply:369
               hot: Uniform.sodium$matchesLastUpload:2184 [mixin merged from me.jellysquid.mods.sodium.mixin.features.shader.uniform.UniformMixin] (16%), executing GL20C.nglUniform1fv (23%)
       no FPS gain while GPU-bound, but it adds to frame-time spikes
  5. [cpu] immediatelyfast costs 0.053 ms per frame on the render thread
       7.8% of render-thread CPU time, mostly in world, 23% in its own code (rest is vanilla/library code it called)
       39%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105   <- LevelRenderer.renderLevel:1228
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (68%), executing GL15C.nglBufferSubData (19%)
       37%  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.setupRenderState:37 (8.8%)
       9.5%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125   <- LevelRenderer.renderLevel:1283
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (30%), executing RenderStateShard.clearRenderState:41 (16%)
       no FPS gain while GPU-bound, but it adds to frame-time spikes
  6. [cpu] collections_of_optimizations costs 0.039 ms per frame on the render thread
       5.7% of render-thread CPU time, mostly in world, 89% in its own code (rest is vanilla/library code it called)
       31%  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]
       7.0%  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 (13%)
       6.6%  com.misanthropy.collections_of_optimizations.core.GeckoFastCube.tryRender:77   <- software.bernie.geckolib.renderer.GeoRenderer.renderCube:533
       no FPS gain while GPU-bound, but it adds to frame-time spikes
  7. [cpu] linggango_tweaks costs 0.029 ms per frame on the render thread
       4.2% of render-thread CPU time, mostly in world, 26% in its own code (rest is vanilla/library code it called)
       30%  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 (36%), executing BakedGlyph.render (26%)
       26%  com.misanthropy.linggango.linggango_tweaks.lumalight.LumalightClient.onRenderLevel:91   <- GameRenderer.renderLevel:1128
               hot: com.misanthropy.linggango.linggango_tweaks.lumalight.PostEffectRenderer.draw:210 (32%), executing GL45C.glBlitNamedFramebuffer (22%)
       14%  com.misanthropy.linggango.linggango_tweaks.client.DynamicCrosshairHandler.onRenderCrosshair:205   <- ForgeGui.gnetum$postEvent:3130 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin]
               executing VertexBuffer._drawWithShader:128 (15%)
       no FPS gain while GPU-bound, but it adds to frame-time spikes
  8. [cpu] gnetum costs 0.025 ms per frame on the render thread
       3.6% of render-thread CPU time, mostly in hud, 29% 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] (48%), executing ASMEventHandler.invoke:55 (28%)
       no FPS gain while GPU-bound, but it adds to frame-time spikes
  9. [cpu] geckolib costs 0.023 ms per frame on the render thread
       3.3% of render-thread CPU time, mostly in world, 65% in its own code (rest is vanilla/library code it called)
       78%  software.bernie.geckolib.renderer.GeoEntityRenderer.render:157   <- EntityRenderDispatcher.mixinextras$bridge$m_7392_$80
               hot: software.bernie.geckolib.renderer.GeoEntityRenderer.renderFinal:264 (11%), executing PoseStack.mulPose:50 (16%)
       21%  TextureManager.wrapAnimatableTexture:1524 [mixin handler from software.bernie.geckolib.mixin.client.TextureManagerMixin]   <- TextureManager.getTexture
               executing HashMap.hash (91%)
       no FPS gain while GPU-bound, but it adds to frame-time spikes

FRAMES
  56,773 frames   p50 0.97 ms   p95 1.57 ms   p99 3.60 ms   worst 22 ms
  per frame:  tasks 0.004 ms  client tick 0.058 ms  render 0.60 ms  present 0.41 ms  other 0.037 ms
  inside those:  swap 0.40 ms  world 0.48 ms  hud 0.090 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.75 ms   p95 0.90 ms   p99 1.39 ms
  GPU time per pass (mean per frame, each pass also holds what mods drew at the stage before it):
    0.021 ms  2.7%  sky and frame setup   (p95 0.022 ms)
    0.29 ms  38%  solid terrain   (p95 0.39 ms)
    0.022 ms  2.8%  cutout mipped terrain   (p95 0.025 ms)
    0.000 ms  <0.1%  cutout terrain   (p95 0.003 ms)
    0.025 ms  3.1%  entities   (p95 0.029 ms)
    0.000 ms  <0.1%  block entities   (p95 0.001 ms)
    0.004 ms  0.5%  translucent terrain   (p95 0.007 ms)
    0.000 ms  <0.1%  tripwire   (p95 0.001 ms)
    0.002 ms  0.3%  particles   (p95 0.003 ms)
    0.021 ms  2.7%  weather and clouds   (p95 0.022 ms)
    0.000 ms  <0.1%  end of level render   (p95 0.001 ms)
    0.19 ms  24%  hand and post effects   (p95 0.21 ms)
    0.12 ms  15%  hud   (p95 0.13 ms)
    0.091 ms  12%  screens and rest of frame   (p95 0.15 ms)

RENDER THREAD CPU BY MOD (sampled; excludes GPU wait, fps limiter and blocked time)
  12,570 samples: CPU work 62%, GPU wait 38%, limiter 0.0%, blocked on other threads <0.1%
  mods caused 78% of render-thread CPU work, vanilla/forge/driver the rest
  19% 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  12%    83%   minecraft (vanilla)          world
  0.080 ms  12%    51%   embeddium                    world
  0.066 ms  9.7%   100%  forge (loader, events)       world
  0.053 ms  7.8%   23%   immediatelyfast              world
  0.039 ms  5.7%   89%   collections_of_optimizations world
  0.029 ms  4.2%   26%   linggango_tweaks             world
  0.025 ms  3.6%   29%   gnetum                       hud
  0.023 ms  3.3%   65%   geckolib                     world
  0.022 ms  3.3%   13%   oculus                       world
  0.022 ms  3.2%   78%   punchy                       world
  0.017 ms  2.5%   23%   asyncparticles               world
  0.012 ms  1.8%   5.7%  whatslaggin                  world
  0.010 ms  1.5%   87%   xaerominimap                 client tick
  0.009 ms  1.4%   13%   let_there_be_atmosphere      world
  0.009 ms  1.4%   60%   brute_force_culling_revived  world
  0.18 ms   141 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, 12%, hottest vanilla methods:
    13%   EntityRenderDispatcher.getRenderer:530  <- me.decce.ixeris.RenderThreadStarter.run:39
    12%   Entity.shouldRender:1562  <- me.decce.ixeris.RenderThreadStarter.run:39
    9.0%  LevelRenderer.renderLevel:1198  <- me.decce.ixeris.RenderThreadStarter.run:39
          executing Iterators$1.next:146 13%
  embeddium  0.080 ms/frame, 12%
    77%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:284  <- LevelRenderer.renderChunkLayer:40702
          hot me.jellysquid.mods.sodium.client.render.chunk.DefaultChunkRenderer.fillCommandBuffer:165 42%
          executing GL32C.nglMultiDrawElementsBaseVertex 26%
    4.7%  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 35%
          executing FogRenderer$MobEffectFogFunction.isEnabled:350 19%
    4.7%  ShaderInstance.uploadUniforms:4132 [mixin redirect from me.jellysquid.mods.sodium.mixin.features.shader.uniform.ShaderProgramMixin]  <- ShaderInstance.apply:369
          hot Uniform.sodium$matchesLastUpload:2184 [mixin merged from me.jellysquid.mods.sodium.mixin.features.shader.uniform.UniformMixin] 16%
          executing GL20C.nglUniform1fv 23%
  immediatelyfast  0.053 ms/frame, 7.8%
    39%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105  <- LevelRenderer.renderLevel:1228
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 68%
          executing GL15C.nglBufferSubData 19%
    37%   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.setupRenderState:37 8.8%
    9.5%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125  <- LevelRenderer.renderLevel:1283
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 30%
          executing RenderStateShard.clearRenderState:41 16%
  collections_of_optimizations  0.039 ms/frame, 5.7%
    31%   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]
    7.0%  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 13%
    6.6%  com.misanthropy.collections_of_optimizations.core.GeckoFastCube.tryRender:77  <- software.bernie.geckolib.renderer.GeoRenderer.renderCube:533
  linggango_tweaks  0.029 ms/frame, 4.2%
    30%   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 36%
          executing BakedGlyph.render 26%
    26%   com.misanthropy.linggango.linggango_tweaks.lumalight.LumalightClient.onRenderLevel:91  <- GameRenderer.renderLevel:1128
          hot com.misanthropy.linggango.linggango_tweaks.lumalight.PostEffectRenderer.draw:210 32%
          executing GL45C.glBlitNamedFramebuffer 22%
    14%   com.misanthropy.linggango.linggango_tweaks.client.DynamicCrosshairHandler.onRenderCrosshair:205  <- ForgeGui.gnetum$postEvent:3130 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin]
          executing VertexBuffer._drawWithShader:128 15%
  gnetum  0.025 ms/frame, 3.6%
    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] 48%
          executing ASMEventHandler.invoke:55 28%
  geckolib  0.023 ms/frame, 3.3%
    78%   software.bernie.geckolib.renderer.GeoEntityRenderer.render:157  <- EntityRenderDispatcher.mixinextras$bridge$m_7392_$80
          hot software.bernie.geckolib.renderer.GeoEntityRenderer.renderFinal:264 11%
          executing PoseStack.mulPose:50 16%
    21%   TextureManager.wrapAnimatableTexture:1524 [mixin handler from software.bernie.geckolib.mixin.client.TextureManagerMixin]  <- TextureManager.getTexture
          executing HashMap.hash 91%
  oculus  0.022 ms/frame, 3.3%
    36%   LevelRenderer.iris$renderTranslucentAfterDeferred:18140 [mixin redirect from net.irisshaders.iris.mixin.fantastic.MixinLevelRenderer]  <- LevelRenderer.renderLevel:1381
          hot ParticleEngine.lambda$iris$selectParticlesToRender$0:6181 [mixin merged from net.irisshaders.iris.mixin.fantastic.MixinParticleEngine] 5.5%
          executing ParticleEngine.render:3241 22%
    18%   GlStateManager.iris$modify:2835 [mixin redirect from net.irisshaders.iris.mixin.MixinGlStateManager_DepthColorOverride]  <- GlStateManager._drawElements:718
          executing GL11C.nglDrawElements 100%
    15%   GameRenderer.iris$disableVanillaHandRendering:8534 [mixin redirect from net.irisshaders.iris.mixin.MixinGameRenderer]  <- GameRenderer.renderItemInHand:852
          hot net.irisshaders.iris.gl.IrisRenderSystem$DSAARB.bindTextureToUnit:569 5.4%
          executing ASMEventHandler.invoke:55 46%

MEMORY AND GC
  allocated 8.3 GB (135 MB/s, exact, all threads), max heap 10.0 GB
  3 GC pauses (0 old/full), 14 ms paused (<0.1%), worst 5.00 ms, one every 21.0 s
  heap after GC 4.7 GB (47% of max, old garbage stays until the next marking cycle), changed by 7 MB over the recording
  by mod (JFR samples scaled to each thread's exact allocation; 100% of bytes covered):
    47 MB/s   26%    jdk                       218 samples
        100%  IdentityHashMap$KeySet.iterator -> IdentityHashMap$KeyIterator
    21 MB/s   11%    minecraft (vanilla)       690 samples
        5.5%  Vec3.add:96 -> Vec3
    15 MB/s   8.5%   immediatelyfast           264 samples
        22%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.lambda$addNewFallbackBuffer$1:188 -> [J
        12%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.lambda$addNewFallbackBuffer$1:188 -> Object;
        11%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 -> Vector3f
    14 MB/s   8.0%   geckolib                  249 samples
        11%  software.bernie.geckolib.renderer.GeoRenderer.renderCubesOfBone:268 -> Matrix4f
        11%  software.bernie.geckolib.renderer.GeoEntityRenderer.renderRecursively:290 -> Matrix4f
        6.0%  software.bernie.geckolib.util.RenderUtils.rotateMatrixAroundCube:62 -> Quaternionf
    10 MB/s   5.3%   punchy                    165 samples
        7.3%  punchy.client.render.PunchyArmRenderer.getLocalMatrix:1489 -> Matrix4f
        5.5%  punchy.client.render.ToolKindResolver.isBucket:112 -> Optional
    8 MB/s    4.6%   embeddium                 252 samples
        15%  me.jellysquid.mods.sodium.client.render.chunk.lists.ChunkRenderList.sectionsWithGeometryIterator:65 -> ReversibleByteArrayIterator
        13%  BufferBuilder.onFormatChanged:5580 [mixin handler from me.jellysquid.mods.sodium.mixin.core.render.immediate.consumer.BufferBuilderMixin] -> SodiumBufferBuilder
        5.6%  me.jellysquid.mods.sodium.client.render.chunk.lists.ChunkRenderList.<init>:17 -> [B
    7 MB/s    4.1%   linggango_tweaks          261 samples
        15%  snownee.jade.overlay.DisplayHelper.drawText:429 -> CallbackInfoReturnable
        13%  snownee.jade.overlay.DisplayHelper.drawText:429 -> CallbackInfo
        13%  snownee.jade.overlay.DisplayHelper.drawText:429 -> 1664672858
    5 MB/s    2.5%   gnetum                    78 samples
        46%  me.decce.gnetum.PassManager.cachingDisabled -> 103703797
        21%  me.decce.gnetum.PassManager.cachingDisabled -> 931142466
        6.4%  ForgeGui.gnetum$post:3084 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin] -> RenderGuiOverlayEvent$Post
    4 MB/s    2.1%   collections_of_optimizations 80 samples
        19%  com.misanthropy.collections_of_optimizations.core.FancyMenuGuiPoseStack.pushPose:26 -> Matrix4f
        9.3%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.coo$singleLookupGetBuffer:1118 [mixin handler from com.misanthropy.collections_of_optimizations.mixin.immediatelyfast.MixinBatchableBufferSource] -> Collections$SingletonSet
        9.3%  com.misanthropy.collections_of_optimizations.core.FancyMenuGuiPoseStack.pushPose:26 -> Matrix3f
    4 MB/s    2.0%   pehkui                    64 samples
        38%  virtuoel.pehkui.api.ScaleData.calculateScaleForTick:309 -> Float
        20%  virtuoel.pehkui.api.TypedScaleModifier.getType -> 879183077
        11%  EntityRenderDispatcher.pehkui$render$before:9031 [mixin handler from virtuoel.pehkui.mixin.client.compat115plus.EntityRenderDispatcherMixin] -> Matrix4f

INTEGRATED SERVER (single player; this is world lag, not FPS)
  1,263 ticks, mspt mean 4.25 ms, p50 4.03 ms, p95 5.83 ms, worst 13 ms, 0 over 50 ms
    0.62 ms/tick  15%    minecraft (vanilla)       
    0.49 ms/tick  12%    forge (loader, events)    
    0.21 ms/tick  4.9%   summonity                 com.fevzi.summonity.event.MinionSlotLimitEvents.enforceMinionSlotLimit:28
    0.18 ms/tick  4.3%   ftbquests                 dev.ftb.mods.ftbquests.FTBQuestsEventHandler.playerTick:166
    0.17 ms/tick  4.1%   collections_of_optimizations top.theillusivec4.curios.common.CuriosHelper.coo$fastEquippedMiss:530 [mixin handler from com.misanthropy.collections_of_optimizations.mixin.curios.MixinCuriosHelperFastMiss]
    0.16 ms/tick  3.7%   linggango_tweaks          com.misanthropy.linggango.linggango_tweaks.tweak.brutality.RageAttributeNerfs.onPlayerTick:68
    0.15 ms/tick  3.5%   naturesaura               de.ellpeck.naturesaura.events.CommonEvents.onLevelTick:89
    0.14 ms/tick  3.3%   capability_fix_revived    com.misanthropy.linggango.capability_fix_revived.init.capability_fix_revived.isValidForCaching:46

THREADS (exact CPU per thread group; 'runs' = what JFR saw executing on it)
  the game used 0.99 of 16 cores, whole machine 21% busy
  cores  n    allocated   group                            runs
  0.65   1    7.0 GB      Render thread                    collections_of_optimizations 12%, minecraft 11%, punchy 7.2%
  0.14   10   51 MB       Flywheel Task Executor ##        flywheel 100%
  0.10   1    932 MB      Server thread                    minecraft 34%, collections_of_optimizations 6.3%, forge 5.5%
  0.02   1    865 KB      whatslaggin-threads              no JFR samples (idle or native)

ENTITIES, BLOCK ENTITIES, SCREENS (exact timings; per second of recording)
  entity render:
    27 ms/s    1,849/s  15 us    terramity:green_fairy                       worst 0.57 ms at 2501, 82, 785
    22 ms/s    773/s    29 us    alexsmobs:blue_jay                          worst 0.65 ms at 2500, 70, 747
  entity tick:
    11 ms/s    20/s     541 us   minecraft:player                            worst 4.75 ms at 2527, 68, 778
    1.86 ms/s  81/s     23 us    terramity:green_fairy                       worst 0.28 ms at 2537, 48, 798
    1.59 ms/s  20/s     79 us    minecraft:witch                             worst 0.36 ms at 2537, 48, 798
  server entity tick:
    7.38 ms/s  212/s    35 us    terramity:green_fairy                       worst 0.62 ms at 2501, 82, 785
    2.12 ms/s  128/s    17 us    minecraft:salmon                            worst 0.20 ms at 2578, 60, 804
    2.03 ms/s  18/s     114 us   minecraft:witch                             worst 0.34 ms at 2531, 48, 798
  screen:
    1.38 ms/s  16/s     88 us    net.minecraft.client.gui.screens.ChatScreen worst 0.27 ms

JVM AND I/O
  class loads over 1 ms: 3 (11 ms), on the render/server thread 3 (11 ms)
  non-GC safepoints: 6.01 ms total (last: ThreadDump)
  log output: 0.1 lines/s
  exceptions thrown: 1.6/s, top: 0.1/s  NoSuchFileException from xaerolib at xaero.lib.common.util.IOUtils.quickFileBackupMove:18

MOD VERSIONS (mods named in the findings)
  embeddium 0.3.32-beta.113-dirty+mc1.20.1;  immediatelyfast 1.5.5+1.20.4;  collections_of_optimizations 5.33;  
  linggango_tweaks 7.35;  gnetum 2.5.1+1.20.1-forge;  geckolib 4.8.4;  terramity 0.9.8;  alexsmobs 1.22.9;  

RECORDING
  stack sampler every 5 ms: 12,570 render-thread, 513 server-thread samples (server only while ticking)
  JFR on (cpu, allocation, locks, file io, class loading, safepoints, exceptions): 1,803 CPU samples, 5,875 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
