WhatsLaggin report (manual)  1m07s recorded, ended 2026-10-22 08:06:32
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, 68 entities loaded

VERDICT
  982 fps average (1.02 ms per frame), 1% low 140 fps, 0.1% low 41 fps.
  CPU-BOUND: the render thread is busy for 0.73 ms of each frame; the GPU wait is only 0.28 ms. Cutting render-thread work raises FPS directly.
  32 stutters over 20 ms (28.5 per minute), worst 87 ms. Biggest cause: whole-process stall.

WHAT TO FIX (ranked by time lost per second of play)
  1. [stutter] Stutter: whole-process stall
       20 frames over 20 ms, worst 57 ms, 553 ms of extra frame time per minute
  2. [cpu] embeddium costs 0.068 ms per frame on the render thread
       9.9% of render-thread CPU time, mostly in world, 39% in its own code (rest is vanilla/library code it called)
       55%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:284   <- LevelRenderer.renderChunkLayer:40702
               hot: me.jellysquid.mods.sodium.client.gl.device.GLRenderDevice$ImmediateDrawCommandList.multiDrawElementsBaseVertex:319 (28%), executing GL32C.nglMultiDrawElementsBaseVertex (28%)
       10%  me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:218   <- LevelRenderer.setupRender:40729
               hot: me.jellysquid.mods.sodium.client.render.chunk.region.RenderRegionManager.update:51 (23%), executing Long2ReferenceOpenHashMap$MapIterator.nextEntry:662 (6.5%)
       9.8%  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 (26%), executing FogRenderer$MobEffectFogFunction.isEnabled:350 (12%)
       removing this cost entirely: about 982 -> 1053 fps
  3. [stutter] Stutter: GC pause (G1 Young Generation)
       6 frames over 20 ms, worst 87 ms, 358 ms of extra frame time per minute
       allocation 875 MB/s; 28 collections, worst 84 ms
       178 MB/s collections_of_optimizations (20%): com.misanthropy.collections_of_optimizations.core.FeaturePlacement.step:63 -> BlockPos
       141 MB/s lithoform (16%): com.misanthropy.lithoform.bowl.BowlOffset.compute:25 -> DensityFunctions$Spline$Point
       132 MB/s fastchunkgen (15%): NoiseChunk.lambda$wrap$0:4484 [mixin merged from com.misanthropy.fastchunkgen.opts.worldgen.vanilla.mixin.noise_chunk_wrap.MixinNoiseChunk] -> [D
       Fix: cut allocation at the sites above (reuse objects, avoid streams/boxing in per-tick code).
  4. [cpu] immediatelyfast costs 0.048 ms per frame on the render thread
       6.9% of render-thread CPU time, mostly in world, 32% in its own code (rest is vanilla/library code it called)
       47%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116   <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96:327
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (78%), executing RenderStateShard.clearRenderState:41 (12%)
       19%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125   <- LevelRenderer.renderLevel:1283
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (42%), executing RenderStateShard.setupRenderState:37 (17%)
       14%  net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105   <- LevelRenderer.renderLevel:1228
               hot: net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 (75%), executing GL15C.nglBufferSubData (14%)
       removing this cost entirely: about 982 -> 1030 fps
  5. [cpu] xaeroworldmap costs 0.036 ms per frame on the render thread
       5.3% of render-thread CPU time, mostly in no phase, 75% in its own code (rest is vanilla/library code it called)
       97%  xaero.map.events.ClientEventsForge.renderTick:32   <- Minecraft.runTick:1148
               hot: xaero.map.biome.BiomeColorCalculator.getBiomeColor:61 (9.6%), executing LevelReader.getNoiseBiome:58 (6.8%)
       removing this cost entirely: about 982 -> 1018 fps
  6. [cpu] punchy costs 0.036 ms per frame on the render thread
       5.2% of render-thread CPU time, mostly in world, 74% in its own code (rest is vanilla/library code it called)
       86%  ItemInHandRenderer.punchy$renderFirstPersonModel:1160 [mixin handler from punchy.mixin.client.ItemInHandRendererMixin]   <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96
               hot: punchy.client.state.MovementStateMachine.beginRenderSample:413 (4.6%), executing Reference.clear0 (3.8%)
       12%  punchy.platform.ForgeClientPlatform.onClientTick:109   <- Minecraft.tick:1875
               hot: punchy.client.state.CustomAnimationResolver.normalizeType:518 (7.4%), executing String.replace (7.4%)
       removing this cost entirely: about 982 -> 1018 fps
  7. [cpu] gnetum costs 0.032 ms per frame on the render thread
       4.6% of render-thread CPU time, mostly in hud, 27% in its own code (rest is vanilla/library code it called)
       100%  ForgeGui.gnetum$render$mixinextras$bridge$64 [mixin wrapOperation from me.decce.gnetum.mixins.ForgeGuiMixin]   <- GameRenderer.render:945
               hot: ForgeGui.gnetum$postEvent:3130 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin] (48%), executing ASMEventHandler.invoke:55 (24%)
       removing this cost entirely: about 982 -> 1014 fps
  8. [cpu] linggango_tweaks costs 0.027 ms per frame on the render thread
       3.9% of render-thread CPU time, mostly in world, 24% in its own code (rest is vanilla/library code it called)
       31%  com.misanthropy.linggango.linggango_tweaks.lumalight.LumalightClient.onRenderLevel:91   <- GameRenderer.renderLevel:1128
               hot: com.misanthropy.linggango.linggango_tweaks.lumalight.PostEffectRenderer.draw:210 (33%), executing GL45C.glBlitNamedFramebuffer (30%)
       21%  com.misanthropy.linggango.linggango_tweaks.client.DynamicCrosshairHandler.onRenderCrosshair:205   <- ForgeGui.gnetum$postEvent:3130 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin]
               executing GL20C.glUseProgram (21%)
       14%  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 (39%), executing GL11C.glBindTexture (10%)
       removing this cost entirely: about 982 -> 1009 fps

FRAMES
  66,038 frames   p50 0.84 ms   p95 1.90 ms   p99 4.39 ms   worst 87 ms
  per frame:  tasks 0.021 ms  client tick 0.062 ms  render 0.56 ms  present 0.29 ms  other 0.085 ms
  inside those:  swap 0.28 ms  world 0.45 ms  hud 0.086 ms  screen 0.002 ms
  client tick: 3.02 ms per tick, 20.0 ticks per second

RENDER THREAD CPU BY MOD (sampled; excludes GPU wait, fps limiter and blocked time)
  13,119 samples: CPU work 68%, GPU wait 32%, limiter 0.0%, blocked on other threads 0.3%
  mods caused 77% 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 glUseProgram; the mod that made the call is charged for it below
  ms/frame  share  own   mod                          mostly in
  0.087 ms  13%    81%   minecraft (vanilla)          world
  0.074 ms  11%    100%  forge (loader, events)       world
  0.068 ms  9.9%   39%   embeddium                    world
  0.048 ms  6.9%   32%   immediatelyfast              world
  0.036 ms  5.3%   75%   xaeroworldmap                no phase
  0.036 ms  5.2%   74%   punchy                       world
  0.032 ms  4.6%   27%   gnetum                       hud
  0.027 ms  3.9%   24%   linggango_tweaks             world
  0.027 ms  3.9%   74%   collections_of_optimizations world
  0.021 ms  3.0%   13%   oculus                       world
  0.018 ms  2.6%   13%   asyncparticles               world
  0.013 ms  1.9%   6.5%  let_there_be_atmosphere      world
  0.010 ms  1.5%   46%   brute_force_culling_revived  world
  0.010 ms  1.5%   78%   geckolib                     world
  0.010 ms  1.4%   86%   flywheel                     world
  0.17 ms   149 more below 0.5% each

HOT PATHS (where each mod's render-thread time goes; SRG names translated; <- = called from)
  minecraft (vanilla)  0.087 ms/frame, 13%, hottest vanilla methods:
    9.8%  EntityRenderDispatcher.getRenderer:530  <- me.decce.ixeris.RenderThreadStarter.run:39
    8.3%  Entity.shouldRender:1562  <- me.decce.ixeris.RenderThreadStarter.run:39
    8.0%  LevelRenderer.renderLevel:1198  <- me.decce.ixeris.RenderThreadStarter.run:39
          executing Iterators$1.next:146 13%
  embeddium  0.068 ms/frame, 9.9%
    55%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.drawChunkLayer:284  <- LevelRenderer.renderChunkLayer:40702
          hot me.jellysquid.mods.sodium.client.gl.device.GLRenderDevice$ImmediateDrawCommandList.multiDrawElementsBaseVertex:319 28%
          executing GL32C.nglMultiDrawElementsBaseVertex 28%
    10%   me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.setupTerrain:218  <- LevelRenderer.setupRender:40729
          hot me.jellysquid.mods.sodium.client.render.chunk.region.RenderRegionManager.update:51 23%
          executing Long2ReferenceOpenHashMap$MapIterator.nextEntry:662 6.5%
    9.8%  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 26%
          executing FogRenderer$MobEffectFogFunction.isEnabled:350 12%
  immediatelyfast  0.048 ms/frame, 6.9%
    47%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:116  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96:327
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 78%
          executing RenderStateShard.clearRenderState:41 12%
    19%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:125  <- LevelRenderer.renderLevel:1283
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 42%
          executing RenderStateShard.setupRenderState:37 17%
    14%   net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endLastBatch:105  <- LevelRenderer.renderLevel:1228
          hot net.raphimc.immediatelyfast.feature.core.BatchableBufferSource.endBatch:135 75%
          executing GL15C.nglBufferSubData 14%
  xaeroworldmap  0.036 ms/frame, 5.3%
    97%   xaero.map.events.ClientEventsForge.renderTick:32  <- Minecraft.runTick:1148
          hot xaero.map.biome.BiomeColorCalculator.getBiomeColor:61 9.6%
          executing LevelReader.getNoiseBiome:58 6.8%
  punchy  0.036 ms/frame, 5.2%
    86%   ItemInHandRenderer.punchy$renderFirstPersonModel:1160 [mixin handler from punchy.mixin.client.ItemInHandRendererMixin]  <- ItemInHandRenderer.m_109314_$mixinextras$wrapped$96
          hot punchy.client.state.MovementStateMachine.beginRenderSample:413 4.6%
          executing Reference.clear0 3.8%
    12%   punchy.platform.ForgeClientPlatform.onClientTick:109  <- Minecraft.tick:1875
          hot punchy.client.state.CustomAnimationResolver.normalizeType:518 7.4%
          executing String.replace 7.4%
  gnetum  0.032 ms/frame, 4.6%
    100%  ForgeGui.gnetum$render$mixinextras$bridge$64 [mixin wrapOperation from me.decce.gnetum.mixins.ForgeGuiMixin]  <- GameRenderer.render:945
          hot ForgeGui.gnetum$postEvent:3130 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin] 48%
          executing ASMEventHandler.invoke:55 24%
  linggango_tweaks  0.027 ms/frame, 3.9%
    31%   com.misanthropy.linggango.linggango_tweaks.lumalight.LumalightClient.onRenderLevel:91  <- GameRenderer.renderLevel:1128
          hot com.misanthropy.linggango.linggango_tweaks.lumalight.PostEffectRenderer.draw:210 33%
          executing GL45C.glBlitNamedFramebuffer 30%
    21%   com.misanthropy.linggango.linggango_tweaks.client.DynamicCrosshairHandler.onRenderCrosshair:205  <- ForgeGui.gnetum$postEvent:3130 [mixin merged from me.decce.gnetum.mixins.ForgeGuiMixin]
          executing GL20C.glUseProgram 21%
    14%   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 39%
          executing GL11C.glBindTexture 10%
  collections_of_optimizations  0.027 ms/frame, 3.9%
    18%   ClientLevel.coo$planDisplayTick:25091 [mixin wrapMethod from com.misanthropy.collections_of_optimizations.mixin.subtleeffects.MixinClientLevelDisplayTick]  <- ClientLevel.animateTick [mixin handler from einstein.subtle_effects.mixin.client.ClientLevelMixin]
          hot com.misanthropy.collections_of_optimizations.core.SubtleEffectsDisplayTick.run:161 52%
          executing Level.getGameTime:729 14%
    11%   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]
          hot com.misanthropy.collections_of_optimizations.core.WeaponAttributesCache.lookup:18 100%
          executing ConcurrentHashMap.get 100%
    9.2%  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 9.4%

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

STUTTERS (frames over 20 ms, grouped by what was happening during them)
  frames  worst     extra/min   cause
  20      57 ms     553 ms      whole-process stall
  6       87 ms     358 ms      GC pause (G1 Young Generation)
  1       59 ms     52 ms       opposing_force: Player.opposingForce$getFlyingSpeed [mixin handler from com.unusualmodding.opposing_force.mixins.PlayerMixin]
  1       38 ms     33 ms       vanilla minecraft: LevelRenderer.renderSky
  1       37 ms     32 ms       let_there_be_atmosphere: com.misanthropy.linggango.let_there_be_atmosphere.client.fx.SkyGlow.draw
  1       30 ms     26 ms       unexplained (render)
  1       29 ms     25 ms       entity_model_features: traben.entity_model_features.models.parts.EMFModelPartCustom$EMFCube.compile
  1       23 ms     20 ms       geckolib: TextureManager.wrapAnimatableTexture [mixin handler from software.bernie.geckolib.mixin.client.TextureManagerMixin]

  worst frames:
  08:06:09.474  87 ms    render 86 ms          GC pause (G1 Young Generation)
                             52 ms of the frame was a stop-the-world collection
  08:05:47.862  85 ms    render 84 ms          GC pause (G1 Young Generation)
                             51 ms of the frame was a stop-the-world collection
  08:06:21.576  84 ms    render 83 ms          GC pause (G1 Young Generation)
                             47 ms of the frame was a stop-the-world collection
  08:06:09.341  69 ms    present 68 ms         GC pause (G1 Young Generation)
                             36 ms of the frame was a stop-the-world collection
  08:05:35.126  59 ms    present 59 ms         GC pause (G1 Young Generation)
                             27 ms of the frame was a stop-the-world collection
  08:05:48.456  59 ms    client tick 57 ms     opposing_force: Player.opposingForce$getFlyingSpeed [mixin handler from com.unusualmodding.opposing_force.mixins.PlayerMixin]
                             1 of 2 samples, hottest line Player.opposingForce$getFlyingSpeed:27755 [mixin handler from com.unusualmodding.opposing_force.mixins.PlayerMixin]
  08:06:31.595  57 ms    render 57 ms          whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)
  08:05:57.337  47 ms    render 47 ms          whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)
  08:06:21.918  41 ms    render 41 ms          whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)
  08:05:45.537  39 ms    render 38 ms          whole-process stall
                             every thread was stopped (OS scheduling, paging, or a JVM pause JFR did not see)

MEMORY AND GC
  allocated 57.6 GB (875 MB/s, exact, all threads), max heap 10.0 GB
  28 GC pauses (0 old/full), 981 ms paused (1.5%), worst 84 ms, one every 2.4 s
  live data after GC 5.9 GB (59% of max), changed by 207 MB over the recording
  by mod (JFR samples scaled to each thread's exact allocation; 100% of bytes covered):
    178 MB/s  20%    collections_of_optimizations 1,586 samples
        8.6%  com.misanthropy.collections_of_optimizations.core.FeaturePlacement.step:63 -> BlockPos
        7.1%  com.misanthropy.collections_of_optimizations.core.FeaturePlacement.step:63 -> CallbackInfoReturnable
        6.3%  com.misanthropy.collections_of_optimizations.core.FeaturePlacement.step:63 -> Iterators$9
    141 MB/s  16%    lithoform                 1,396 samples
        21%  com.misanthropy.lithoform.bowl.BowlOffset.compute:25 -> DensityFunctions$Spline$Point
        12%  com.misanthropy.lithoform.compat.LandProvinces.province:496 -> [J
        12%  com.misanthropy.lithoform.compat.LandProvinces.province:495 -> Climate$TargetPoint
    132 MB/s  15%    fastchunkgen              1,223 samples
        13%  NoiseChunk.lambda$wrap$0:4484 [mixin merged from com.misanthropy.fastchunkgen.opts.worldgen.vanilla.mixin.noise_chunk_wrap.MixinNoiseChunk] -> [D
        5.5%  NoiseChunk.fcg$interpolatedState:4069 [mixin merged from com.misanthropy.fastchunkgen.opts.worldgen.vanilla.mixin.fill.MixinNoiseChunk] -> CallbackInfoReturnable
    80 MB/s   9.1%   minecraft (vanilla)       4,401 samples
        12%  SkyLightSectionStorage$SkyDataLayerStorageMap.copy:164 -> [J
        11%  BlockLightSectionStorage$BlockDataLayerStorageMap.copy:36 -> [J
        6.4%  SkyLightSectionStorage$SkyDataLayerStorageMap.copy:164 -> Object;
    37 MB/s   4.2%   modernfix                 326 samples
        57%  org.embeddedt.modernfix.world.gen.PrefetchingBlockColumn.setBlock:113 -> CallbackInfoReturnable
        9.0%  org.embeddedt.modernfix.structure.CachingStructureManager.readStructure:39 -> BlockPos
        8.7%  org.embeddedt.modernfix.structure.CachingStructureManager.readStructure:39 -> StructureTemplate$StructureBlockInfo
    30 MB/s   3.4%   alexscaves                202 samples
        28%  com.github.alexmodguy.alexscaves.server.level.biome.ACBiomeRarity.getRareBiomeInfoForQuad -> CallbackInfoReturnable
        14%  com.github.alexmodguy.alexscaves.server.config.BiomeGenerationNoiseCondition.test:102 -> DensityFunctions$Spline$Point
        13%  MultiNoiseBiomeSource.citadel_getNoiseBiomeCoords:536 [mixin handler from com.github.alexmodguy.alexscaves.mixin.MultiNoiseBiomeSourceMixin] -> DensityFunctions$Spline$Point
    29 MB/s   3.3%   xaeroworldmap             181 samples
        78%  xaero.map.misc.ConsistentBitArray.<init>:30 -> [J
        7.4%  xaero.map.region.texture.RegionTexture.<init>:78 -> ConsistentBitArray
    19 MB/s   2.2%   radium                    263 samples
        47%  CompoundTag.useFasterCollection:1129 [mixin modify from me.jellysquid.mods.lithium.mixin.alloc.nbt.NbtCompoundMixin] -> Object;
        15%  LevelChunkSection.setBlockStateNoLocking:521 [mixin redirect from me.jellysquid.mods.lithium.mixin.chunk.no_locking.ChunkSectionMixin] -> CallbackInfoReturnable
        10.0%  CompoundTag.useFasterCollection:1129 [mixin modify from me.jellysquid.mods.lithium.mixin.alloc.nbt.NbtCompoundMixin] -> Object2ObjectOpenHashMap
    17 MB/s   1.9%   linggango_tweaks          244 samples
        6.1%  com.misanthropy.linggango.linggango_tweaks.worldgen.TemplateCache.load:98 -> [B
    16 MB/s   1.9%   jdk                       289 samples
        99%  IdentityHashMap$KeySet.iterator -> IdentityHashMap$KeyIterator

INTEGRATED SERVER (single player; this is world lag, not FPS)
  1,348 ticks, mspt mean 9.50 ms, p50 7.93 ms, p95 13 ms, worst 815 ms, 9 over 50 ms
    2.11 ms/tick  22%    minecraft (vanilla)       
    1.41 ms/tick  15%    fastchunkgen              ServerChunkCache.beforeAwaitChunk:6611 [mixin redirect from com.misanthropy.fastchunkgen.base.mixin.priority.MixinServerChunkManager]
    0.79 ms/tick  8.3%   collections_of_optimizations ServerLevel.coo$growthTick:10142 [mixin modifyExpressionValue from com.misanthropy.collections_of_optimizations.mixin.immersiveweathering.MixinServerLevelGrowthTick]
    0.62 ms/tick  6.5%   forge (loader, events)    
    0.35 ms/tick  3.6%   radium                    EntitySectionStorage.forEachInBox:555 [mixin handler from me.jellysquid.mods.lithium.mixin.entity.fast_retrieval.SectionedEntityCacheMixin]
    0.25 ms/tick  2.6%   pehkui                    Entity.pehkui$tick:38737 [mixin handler from virtuoel.pehkui.mixin.EntityMixin]
    0.21 ms/tick  2.2%   alexsmobs                 com.github.alexthe666.alexsmobs.entity.EntityGorilla.tick:361

THREADS (exact CPU per thread group; 'runs' = what JFR saw executing on it)
  the game used 6.62 of 16 cores, whole machine 64% busy
  cores  n    allocated   group                            runs
  4.56   23   34.3 GB     FastChunkGen worker ##           lithoform 54%, fastchunkgen 13%, collections_of_optimizations 11%
  0.70   1    9.3 GB      Render thread                    xaeroworldmap 12%, minecraft 9.5%, collections_of_optimizations 9.2%
  0.36   15   5.1 GB      ForkJoinPool.commonPool-worker-# lithoform 63%, ae2 11%, mowziesmobs 8.1%
  0.20   1    3.6 GB      Server thread                    minecraft 34%, collections_of_optimizations 6.2%
  0.19   1    865 MB      Linggango Streams                lithoform 76%, linggango_tweaks 20%
  0.19   10   785 MB      Chunk Render Task Executor ##    minecraft 42%, embeddium 41%, collections_of_optimizations 5.3%
  0.14   10   54 MB       Flywheel Task Executor ##        flywheel 100%
  0.07   6    298 MB      Lumenite light #                 lumenite 74%, minecraft 25%
  0.03   15   43 MB       Worker-Main-#                    minecraft 83%, jdk 17%
  0.03   1    322 KB      spark-monitoring-thread          no JFR samples (idle or native)
  0.02   1    937 KB      whatslaggin-threads              no JFR samples (idle or native)
  0.02   1    710 MB      JFR Event Stream #               no JFR samples (idle or native)

ENTITIES, BLOCK ENTITIES, SCREENS (exact timings; per second of recording)
  entity render:
    3.41 ms/s  153/s    22 us    alexsmobs:emu                               worst 3.52 ms at 229, 110, 758
    2.05 ms/s  67/s     31 us    crittersandcompanions:snail                 worst 0.31 ms at 2501, 69, 762
    1.54 ms/s  75/s     21 us    terramity:green_fairy                       worst 0.21 ms at 2507, 78, 803
  entity tick:
    12 ms/s    20/s     589 us   minecraft:player                            worst 53 ms at 1122, 200, 775
    1.20 ms/s  35/s     34 us    terramity:green_fairy                       worst 0.36 ms at 618, 177, 699
    1.08 ms/s  26/s     42 us    alexsmobs:gorilla                           worst 0.49 ms at 739, 64, 799
  server entity tick:
    11 ms/s    182/s    61 us    terramity:green_fairy                       worst 0.94 ms at 816, 98, 739
    3.19 ms/s  187/s    17 us    minecraft:item                              worst 0.39 ms at 599, -45, 659
    2.67 ms/s  28/s     95 us    alexsmobs:gorilla                           worst 0.50 ms at 1032, 118, 826
    2.28 ms/s  14/s     158 us   minecraft:player                            worst 1.78 ms at 1422, 200, 778
  screen:
    2.11 ms/s  25/s     84 us    net.minecraft.client.gui.screens.ChatScreen worst 0.35 ms

JVM AND I/O
  class loads over 1 ms: 2 (11 ms), on the render/server thread 1 (2.32 ms)
  render thread lock: 60 ms in 14 events, flywheel at dev.engine_room.flywheel.impl.task.ThreadGroupNotifier.postNotification:16 (ThreadGroupNotifier)
  non-GC safepoints: 26 ms total (last: ThreadDump)
  log output: 0.2 lines/s
  exceptions thrown: 16.2/s, top: 0.4/s  FileAlreadyExistsException from minecraft at FileUtil.createDirectoriesSafe:194

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;  linggango_tweaks 7.33;  ;  collections_of_optimizations 5.31;  
  lithoform 2.0.0-alpha12;  fastchunkgen 0.37;  

RECORDING
  stack sampler every 5 ms: 13,119 render-thread, 2,420 server-thread samples (server only while ticking)
  JFR on (cpu, allocation, locks, file io, class loading, safepoints, exceptions): 20,569 CPU samples, 18,003 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
