WhatsLaggin report (manual)  11.7 s recorded, ended 2026-10-05 18:20:20
Minecraft 1.20.1, Forge 47.4.20, 482 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.8.1.260810
CPU 16x AMD Ryzen 7 7800X3D 8-Core Processor, 16 threads, 31.4 GB RAM
Video 3440x1440 fullscreen @180 Hz, vsync off, fps limit unlimited, render distance 12, simulation 7, graphics fancy, shaders off
World minecraft:overworld, 138 entities loaded

VERDICT
  1325 fps average (0.75 ms per frame), 1% low 205 fps, 0.1% low 134 fps.
  CPU-BOUND: the render thread is busy for 0.68 ms of each frame; the GPU wait is only 0.073 ms. Cutting render-thread work raises FPS directly.
  No stutters over 20 ms.

WHAT TO FIX (ranked by time lost per second of play)
  1. [cpu] entity_model_features costs 0.13 ms per frame on the render thread
       19% of render-thread CPU time, mostly in world, 98% in its own code (rest is vanilla/library code it called)
       94%  traben.entity_model_features.models.parts.EMFModelPartVanilla.render:116   <- ModelPart.render:109
               hot: traben.entity_model_features.models.animation.math.asm.ASMParser.lambda$compileOrNull$0:162 (63%), executing EMF_ASM_Parsed_283.eval (63%)
       5.1%  ItemInHandRenderer.wrapRenderHandsWithItems:4647 [mixin wrapMethod from traben.entity_model_features.mixin.mixins.rendering.Mixin_WrapFirstPersonHandRender]   <- ItemInHandRenderer.renderHandsWithItems
               hot: traben.entity_model_features.models.parts.EMFModelPartRoot.resetVanillaPartsToDefaults:425 (24%), executing HashMap$HashIterator.nextNode (29%)
       removing this cost entirely: about 1325 -> 1609 fps
  2. [cpu] immediatelyfast costs 0.044 ms per frame on the render thread
       6.5% of render-thread CPU time, mostly in world, 31% in its own code (rest is vanilla/library code it called)
       50%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116   <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$87:327
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (65%), executing GL15C.nglBufferSubData (10%)
       13%  Gui.endBatching:15209 [mixin handler from net.raphimc.immediatelyfast.injection.mixins.hud_batching.MixinInGameHud]   <- Gui.renderCrosshair:392
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (39%), executing GL14C.glBlendFuncSeparate (17%)
       12%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105   <- LevelRenderer.renderLevel:1423
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (88%), executing RenderStateShard.setupRenderState:37 (25%)
       removing this cost entirely: about 1325 -> 1408 fps
  3. [cpu] embeddium costs 0.035 ms per frame on the render thread
       5.0% of render-thread CPU time, mostly in world, 25% in its own code (rest is vanilla/library code it called)
       40%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:259   <- LevelRenderer.renderChunkLayer:38702
               hot: me.jellysquid.mods.sodium.client.render.chunk.terrain.TerrainRenderPass.startDrawing:62 (26%), executing JNI.callPV (17%)
       24%  ShaderInstance.uploadUniforms:3624 [mixin redirect from me.jellysquid.mods.sodium.mixin.features.shader.uniform.ShaderProgramMixin]   <- ShaderInstance.apply:369
               executing GL20C.nglUniformMatrix4fv (28%)
       15%  LevelRenderer.renderCloudsFast:6112 [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.render:165 (19%), executing GL30C.glBindVertexArray (19%)
       removing this cost entirely: about 1325 -> 1389 fps
  4. [cpu] punchy costs 0.027 ms per frame on the render thread
       4.0% of render-thread CPU time, mostly in world, 74% in its own code (rest is vanilla/library code it called)
       92%  ItemInHandRenderer.punchy$renderFirstPersonModel:1160 [mixin handler from punchy.mixin.client.ItemInHandRendererMixin]   <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$87
               hot: punchy.client.render.ToolTuning.resolveCustomModelData:1591 (5.2%), executing PoseStack.mulPose:50 (5.2%)
       7.1%  punchy.platform.ForgeClientPlatform.onClientTick:109   <- Minecraft.tick:1875
               hot: punchy.compat.BetterCombatCompat.applyVanillaItemDisplay:223 (33%), executing DirectMethodHandle$Holder.invokeStatic (17%)
       removing this cost entirely: about 1325 -> 1375 fps
  5. [cpu] gnetum costs 0.027 ms per frame on the render thread
       4.0% of render-thread CPU time, mostly in hud, 32% in its own code (rest is vanilla/library code it called)
       99%  ForgeGui.gnetum$render$mixinextras$bridge$65 [mixin wrapOperation from me.decce.gnetum.mixins.ForgeGuiMixin]   <- GameRenderer.render:945
               hot: ForgeGui.gnetum$postEvent:3631 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin] (45%), executing ASMEventHandler.invoke:55 (27%)
       removing this cost entirely: about 1325 -> 1375 fps
  6. [cpu] oculus costs 0.023 ms per frame on the render thread
       3.3% of render-thread CPU time, mostly in world, 35% in its own code (rest is vanilla/library code it called)
       25%  GameRenderer.iris$disableVanillaHandRendering:8034 [mixin redirect from net.irisshaders.iris.mixin.MixinGameRenderer]   <- GameRenderer.renderItemInHand:852
               hot: ItemRenderer.iris$setupId:9546 [mixin merged from net.irisshaders.iris.mixin.entity_render_context.MixinItemRenderer] (12%), executing ASMEventHandler.invoke:55 (29%)
       19%  LevelRenderer.batchedentityrendering$sortEntityList:7622 [mixin localvar from net.irisshaders.batchedentityrendering.mixin.MixinLevelRenderer_EntityListSorting]   <- LevelRenderer.renderLevel:1198
               hot: LevelRenderer.lambda$batchedentityrendering$sortEntityList$1:7623 [mixin merged from net.irisshaders.batchedentityrendering.mixin.MixinLevelRenderer_EntityListSorting] (85%), executing HashMap$Values.forEach (15%)
       13%  LevelRenderer.iris$renderTranslucentAfterDeferred:16640 [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] (11%), executing ParticleEngine.render:3272 (22%)
       removing this cost entirely: about 1325 -> 1366 fps
  7. [world] minecraft:player (entity render) costs 29 ms every second
       1,285 calls, 264 us each, worst 2.79 ms at 665, 193, -1746

FRAMES
  15,396 frames   p50 0.66 ms   p95 1.13 ms   p99 4.33 ms   worst 14 ms
  per frame:  tasks 0.003 ms  client tick 0.047 ms  render 0.60 ms  present 0.076 ms  other 0.033 ms
  inside those:  swap 0.073 ms  world 0.48 ms  hud 0.082 ms  screen 0.013 ms
  client tick: 3.11 ms per tick, 20.1 ticks per second

RENDER THREAD CPU BY MOD (sampled; excludes GPU wait, fps limiter and blocked time)
  2,330 samples: CPU work 90%, GPU wait 9.5%, limiter 0.0%, blocked on other threads 0.0%
  mods caused 81% of render-thread CPU work, vanilla/forge/driver the rest
  12% of CPU work is inside OpenGL calls (driver work or a GPU sync), mostly glBindTexture; the mod that made the call is charged for it below
  ms/frame  share  own   mod                          mostly in
  0.13 ms   19%    98%   entity_model_features        world
  0.083 ms  12%    82%   minecraft (vanilla)          world
  0.051 ms  7.4%   100%  forge (loader, events)       world
  0.044 ms  6.5%   31%   immediatelyfast              world
  0.035 ms  5.0%   25%   embeddium                    world
  0.027 ms  4.0%   74%   punchy                       world
  0.027 ms  4.0%   32%   gnetum                       hud
  0.023 ms  3.3%   35%   oculus                       world
  0.018 ms  2.6%   25%   asyncparticles               world
  0.016 ms  2.4%   80%   collections_of_optimizations world
  0.011 ms  1.6%   73%   linggango_tweaks             world
  0.010 ms  1.5%   29%   xaerolib                     hud
  0.010 ms  1.4%   100%  playeranimator               world
  0.009 ms  1.4%   45%   brute_force_culling_revived  world
  0.007 ms  1.0%   0.0%  transmog                     world
  0.18 ms   106 more below 0.5% each

HOT PATHS (where each mod's render-thread time goes; SRG names translated; <- = called from)
  entity_model_features  0.13 ms/frame, 19%
    94%   traben.entity_model_features.models.parts.EMFModelPartVanilla.render:116  <- ModelPart.render:109
          hot traben.entity_model_features.models.animation.math.asm.ASMParser.lambda$compileOrNull$0:162 63%
          executing EMF_ASM_Parsed_283.eval 63%
    5.1%  ItemInHandRenderer.wrapRenderHandsWithItems:4647 [mixin wrapMethod from traben.entity_model_features.mixin.mixins.rendering.Mixin_WrapFirstPersonHandRender]  <- ItemInHandRenderer.renderHandsWithItems
          hot traben.entity_model_features.models.parts.EMFModelPartRoot.resetVanillaPartsToDefaults:425 24%
          executing HashMap$HashIterator.nextNode 29%
  minecraft (vanilla)  0.083 ms/frame, 12%, hottest vanilla methods:
    11%   Entity.shouldRender:1562  <- me.decce.ixeris.RenderThreadStarter.run:39
    11%   LevelRenderer.renderLevel:1198  <- me.decce.ixeris.RenderThreadStarter.run:39
    6.7%  ClientChunkCache.getChunk:30  <- ClientLevel.asyncparticles_animateTick:21586 [mixin wrapMethod from forge.fun.qu_an.minecraft.asyncparticles.client.mixin.core.animate_tick.MixinClientLevel_AnimateTick]
  immediatelyfast  0.044 ms/frame, 6.5%
    50%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$87:327
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 65%
          executing GL15C.nglBufferSubData 10%
    13%   Gui.endBatching:15209 [mixin handler from net.raphimc.immediatelyfast.injection.mixins.hud_batching.MixinInGameHud]  <- Gui.renderCrosshair:392
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 39%
          executing GL14C.glBlendFuncSeparate 17%
    12%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105  <- LevelRenderer.renderLevel:1423
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 88%
          executing RenderStateShard.setupRenderState:37 25%
  embeddium  0.035 ms/frame, 5.0%
    40%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:259  <- LevelRenderer.renderChunkLayer:38702
          hot me.jellysquid.mods.sodium.client.render.chunk.terrain.TerrainRenderPass.startDrawing:62 26%
          executing JNI.callPV 17%
    24%   ShaderInstance.uploadUniforms:3624 [mixin redirect from me.jellysquid.mods.sodium.mixin.features.shader.uniform.ShaderProgramMixin]  <- ShaderInstance.apply:369
          executing GL20C.nglUniformMatrix4fv 28%
    15%   LevelRenderer.renderCloudsFast:6112 [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.render:165 19%
          executing GL30C.glBindVertexArray 19%
  punchy  0.027 ms/frame, 4.0%
    92%   ItemInHandRenderer.punchy$renderFirstPersonModel:1160 [mixin handler from punchy.mixin.client.ItemInHandRendererMixin]  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$87
          hot punchy.client.render.ToolTuning.resolveCustomModelData:1591 5.2%
          executing PoseStack.mulPose:50 5.2%
    7.1%  punchy.platform.ForgeClientPlatform.onClientTick:109  <- Minecraft.tick:1875
          hot punchy.compat.BetterCombatCompat.applyVanillaItemDisplay:223 33%
          executing DirectMethodHandle$Holder.invokeStatic 17%
  gnetum  0.027 ms/frame, 4.0%
    99%   ForgeGui.gnetum$render$mixinextras$bridge$65 [mixin wrapOperation from me.decce.gnetum.mixins.ForgeGuiMixin]  <- GameRenderer.render:945
          hot ForgeGui.gnetum$postEvent:3631 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin] 45%
          executing ASMEventHandler.invoke:55 27%
  oculus  0.023 ms/frame, 3.3%
    25%   GameRenderer.iris$disableVanillaHandRendering:8034 [mixin redirect from net.irisshaders.iris.mixin.MixinGameRenderer]  <- GameRenderer.renderItemInHand:852
          hot ItemRenderer.iris$setupId:9546 [mixin merged from net.irisshaders.iris.mixin.entity_render_context.MixinItemRenderer] 12%
          executing ASMEventHandler.invoke:55 29%
    19%   LevelRenderer.batchedentityrendering$sortEntityList:7622 [mixin localvar from net.irisshaders.batchedentityrendering.mixin.MixinLevelRenderer_EntityListSorting]  <- LevelRenderer.renderLevel:1198
          hot LevelRenderer.lambda$batchedentityrendering$sortEntityList$1:7623 [mixin merged from net.irisshaders.batchedentityrendering.mixin.MixinLevelRenderer_EntityListSorting] 85%
          executing HashMap$Values.forEach 15%
    13%   LevelRenderer.iris$renderTranslucentAfterDeferred:16640 [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] 11%
          executing ParticleEngine.render:3272 22%
  asyncparticles  0.018 ms/frame, 2.6%
    49%   LevelRenderer.onRenderLevelHead:3601 [mixin handler from forge.fun.qu_an.minecraft.asyncparticles.client.mixin.core.particle.gpu_acceleration.MixinLevelRenderer]  <- LevelRenderer.renderLevel
          hot forge.fun.qu_an.minecraft.asyncparticles.client.core.backend.GlCommands$GL.glMultiDrawArrays:125 41%
          executing JNI.callPPV 41%
    35%   forge.fun.qu_an.minecraft.asyncparticles.client.core.particle.gpu_acceleration.opengl.GlTfParticleRenderer.render:459  <- ParticleEngine.render:3222
          hot forge.fun.qu_an.minecraft.asyncparticles.client.core.particle.gpu_acceleration.IParticleRenderer.prepareShader:30 37%
          executing GL15C.glBindBuffer 16%
    7.3%  forge.fun.qu_an.minecraft.asyncparticles.client.util.TrackedWriteMap.get:44  <- LevelChunk.getBlockEntity:298
          executing HashMap.hash 25%

MEMORY AND GC
  allocated 2.5 GB (215 MB/s, exact, all threads), max heap 10.0 GB
  1 GC pauses (0 old/full), 14 ms paused (0.1%), worst 14 ms, one every 11.7 s
  live data after GC 4.2 GB (42% of max)
  by mod (JFR samples scaled to each thread's exact allocation; 97% of bytes covered):
    34 MB/s   16%    minecraft (vanilla)       161 samples
        16%  EntityRenderDispatcher.shouldRender:127 -> CallbackInfoReturnable
        9.1%  PoseStack.<init>:14 -> Object;
    23 MB/s   11%    entity_model_features     74 samples
        36%  traben.entity_model_features.models.animation.math.EMFMath.setEntityVariable:92 -> Float
        32%  traben.entity_model_features.models.animation.math.EMFMath.getEntityVariable:99 -> Float
        9.5%  traben.entity_model_features.models.animation.math.asm.ASMAnimationHandler.lambda$buildVarSupplier$22:232 -> [F
    19 MB/s   9.0%   punchy                    63 samples
        4.8%  LevelRenderer.punchy$renderReleasedItemParticles:11107 [mixin handler from punchy.mixin.client.LevelRendererMixin] -> Object;
    17 MB/s   7.9%   immediatelyfast           55 samples
        20%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 -> Vector3f
        13%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.lambda$addNewFallbackBuffer$1:188 -> Object;
        13%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.lambda$addNewFallbackBuffer$1:188 -> [J
    14 MB/s   6.3%   oculus                    44 samples
        34%  LevelRenderer.lambda$batchedentityrendering$sortEntityList$0:7623 [mixin merged from net.irisshaders.batchedentityrendering.mixin.MixinLevelRenderer_EntityListSorting] -> Object;
        30%  LevelRenderer.batchedentityrendering$sortEntityList:7626 [mixin localvar from net.irisshaders.batchedentityrendering.mixin.MixinLevelRenderer_EntityListSorting] -> Object;
        9.1%  LevelRenderer.lambda$batchedentityrendering$sortEntityList$1:7623 [mixin merged from net.irisshaders.batchedentityrendering.mixin.MixinLevelRenderer_EntityListSorting] -> HashMap$Node;
    11 MB/s   4.9%   radium                    43 samples
        49%  CompoundTag.useFasterCollection:1129 [mixin modify from me.jellysquid.mods.lithium.mixin.alloc.nbt.NbtCompoundMixin] -> Object;
        7.4%  me.jellysquid.mods.lithium.common.util.collections.HashedReferenceList.<init>:27 -> Object;
        7.4%  me.jellysquid.mods.lithium.common.util.collections.HashedReferenceList.<init>:23 -> [I
    8 MB/s    3.9%   gnetum                    27 samples
        30%  me.decce.gnetum.PassManager.cachingDisabled -> 443040018
        30%  me.decce.gnetum.PassManager.cachingDisabled -> 1248680071
        7.4%  ForgeGui.lambda$gnetum$renderLayers$7:3567 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin] -> CallbackInfoReturnable
    8 MB/s    3.6%   embeddium                 31 samples
        20%  me.jellysquid.mods.sodium.client.render.chunk.ChunkRenderMatrices.from:11 -> Matrix4f
        16%  me.jellysquid.mods.sodium.client.render.vertex.buffer.SodiumBufferBuilder.<init>:41 -> SodiumBufferBuilderPolygonView
        16%  me.jellysquid.mods.sodium.client.util.sorting.AbstractSort.createIndexBuffer:6 -> [I
    4 MB/s    1.8%   forge (loader, events)    42 samples
        20%  ForgeEventFactory.canEntityDespawn:307 -> MobSpawnEvent$AllowDespawn
        16%  ForgeHooksClient.dispatchRenderStage:289 -> RenderLevelStageEvent
        16%  ForgeHooksClient.getFieldOfView:375 -> ViewportEvent$ComputeFov
    4 MB/s    1.7%   asyncparticles            133 samples
        25%  forge.fun.qu_an.minecraft.asyncparticles.client.core.particle.gpu_acceleration.IParticleRenderer.prepareShader:30 -> String
        17%  forge.fun.qu_an.minecraft.asyncparticles.client.core.particle.gpu_acceleration.IParticleRenderer.prepareShader:30 -> [B
        17%  forge.fun.qu_an.minecraft.asyncparticles.client.util.CombinedIterable.ofIdentitySet:50 -> Reference2ReferenceOpenHashMap$KeyIterator

INTEGRATED SERVER (single player; this is world lag, not FPS)
  234 ticks, mspt mean 7.79 ms, p50 7.34 ms, p95 12 ms, worst 16 ms, 0 over 50 ms
    1.46 ms/tick  19%    minecraft (vanilla)       
    0.54 ms/tick  6.9%   ending_library            Level.guardEntityTick:13556 [mixin handler from com.mega.endinglib.mixin.time.time.LevelMixin]
    0.44 ms/tick  5.6%   radium                    EntitySectionStorage.forEachInBox:562 [mixin handler from me.jellysquid.mods.lithium.mixin.entity.fast_retrieval.SectionedEntityCacheMixin]
    0.44 ms/tick  5.6%   ars_nouveau               com.hollingsworth.arsnouveau.common.entity.Whirlisprig.tick:243
    0.41 ms/tick  5.3%   pehkui                    Entity.pehkui$tick:34737 [mixin handler from virtuoel.pehkui.mixin.EntityMixin]
    0.34 ms/tick  4.4%   collections_of_optimizations ChunkMap.coo$reuseUnchangedSectionPos$mixinextras$bridge$228 [mixin wrapOperation from com.misanthropy.collections_of_optimizations.mixin.vanilla.MixinChunkMapEntityTracker]
    0.34 ms/tick  4.4%   eeeabsmobs                com.eeeab.eeeabsmobs.sever.entity.mob.relicron.EntityRelicAnnihilator.tick:333
    0.32 ms/tick  4.1%   forge (loader, events)    

THREADS (exact CPU per thread group; 'runs' = what JFR saw executing on it)
  the game used 1.47 of 16 cores, whole machine 33% busy
  cores  n    allocated   group                            runs
  0.89   1    2.0 GB      Render thread                    entity_model_features 41%, minecraft 8.0%, punchy 6.1%
  0.26   10   14 MB       Flywheel Task Executor ##        too few samples
  0.17   1    364 MB      Server thread                    minecraft 29%, pehkui 8.3%, forge 8.3%
  0.07   1    67 MB       JFR Event Stream #               no JFR samples (idle or native)

ENTITIES, BLOCK ENTITIES, SCREENS (exact timings; per second of recording)
  entity render:
    29 ms/s    110/s    264 us   minecraft:player                            worst 2.79 ms at 665, 193, -1746
  entity tick:
    12 ms/s    20/s     589 us   minecraft:player                            worst 2.56 ms at 665, 193, -1746
    4.04 ms/s  261/s    16 us    ars_nouveau:starbuncle                      worst 0.18 ms at 606, 68, -1722
    1.78 ms/s  80/s     22 us    ars_nouveau:whirlisprig                     worst 0.18 ms at 636, 69, -1668
  server entity tick:
    6.03 ms/s  171/s    35 us    minecraft:creeper                           worst 0.33 ms at 681, 67, -1761
    5.88 ms/s  331/s    18 us    ars_nouveau:starbuncle                      worst 1.15 ms at 721, 65, -1806
    4.83 ms/s  248/s    19 us    eeeabsmobs:relic_observer                   worst 0.42 ms at 922, 15, -1058
    4.62 ms/s  113/s    41 us    ars_nouveau:whirlisprig                     worst 0.28 ms at 636, 69, -1668
    4.31 ms/s  252/s    17 us    alexsmobs:bison                             worst 0.39 ms at 632, 64, -1765
    3.61 ms/s  174/s    21 us    terramity:cave_gnome                        worst 0.30 ms at 677, 69, -1737
    3.18 ms/s  93/s     34 us    terramity:green_fairy                       worst 0.29 ms at 676, 68, -1761
    3.00 ms/s  205/s    15 us    minecraft:zombie                            worst 0.69 ms at 661, 69, -1746
  server block entity tick:
    3.43 ms/s  12,511/s 0 us     minecraft:sculk_sensor                      worst 0.17 ms at 783, 26, -1103
    1.40 ms/s  4,045/s  0 us     minecraft:sculk_catalyst                    worst 0.16 ms at 836, 26, -1034
  screen:
    17 ms/s    174/s    95 us    net.minecraft.client.gui.screens.ChatScreen worst 0.61 ms

JVM AND I/O
  class loads over 1 ms: 2 (2.65 ms), on the render/server thread 2 (2.65 ms)
  non-GC safepoints: 5.08 ms total (last: ThreadDump)
  log output: 0.4 lines/s
  exceptions thrown: 175.2/s, top: 105.7/s  ClassNotFoundException from tooltipoverhaul at Screen.to$emiRecord:5826 [mixin handler from dev.xylonity.tooltipoverhaul.mixin.ScreenRecorderMixin]

MOD VERSIONS (mods named in the findings)
  entity_model_features 3.3.10;  immediatelyfast 1.5.5+1.20.4;  embeddium 0.3.32-beta.102-dirty+mc1.20.1;  
  punchy 2.8c;  gnetum 2.5.1+1.20.1-forge;  oculus 1.8.3;  

RECORDING
  stack sampler every 5 ms: 2,330 render-thread, 320 server-thread samples (server only while ticking)
  JFR on (cpu, allocation, locks, file io, class loading, safepoints, exceptions): 543 CPU samples, 1,280 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
