promotional bannermobile promotional banner

Concurrent Chunk Management Engine for Forge -The Twilight Forest fix

Fix the compatibility between c2mef and Twilight Forest, while fixing bugs and improving performance

Describes

Fix the compatibility between c2mef and Twilight Forest, while fixing bugs and improving performance

Fixed

Thread Safety Fixes

  • Fixed race condition in ConcurrentFlagMatrix.setif()

    • Location: c2me_fixes_worldgen_threading_issues/.../ConcurrentFlagMatrix.java
    • Issue: Race condition between read and write locks in setif() method
    • Solution: Use write lock throughout the entire operation for atomicity
  • Prevented potential deadlocks in lock acquisition

    • Location: c2me_base/.../AsyncCombinedLock.java, SchedulingAsyncCombinedLock.java
    • Issue: Unordered lock acquisition could cause deadlocks
    • Solution: Sort lock names to ensure consistent acquisition order
  • Fixed infinite recursion in error handling

    • Location: AsyncCombinedLock.java, SchedulingAsyncCombinedLock.java
    • Issue: Recursive calls in error path could cause stack overflow
    • Solution: Throw IllegalStateException instead of recursing
  • Enhanced object pool safety

    • Location: c2me_base/.../SimpleObjectPool.java
    • Added: Null checks and object state cleanup before return to pool

Changed

Error Handling Improvements

  • Replaced printStackTrace() with proper logging

    • Location: SchedulingAsyncCombinedLock.java, NeighborLockingTask.java, NoTickSystem.java, MixinChunkStatus.java, C2MEMod.java
    • Changed: Use SLF4J Logger instead of stack trace printing / System.out.printf for better log management
  • Added ForkJoinPool compatibility

    • Location: c2me_fixes_chunkio_threading_issues/.../SynchronizedCodec.java
    • Added: ManagedBlocker support to prevent ForkJoinPool thread starvation

Performance

Chunk Generation Speed Optimizations

  • Aggressive spin-wait strategy for ultra-low latency

    • Location: c2me_base/.../CFUtil.java
    • Optimization: 10,000 pure spins + 1ns park to minimize thread context switching
    • Effect: Minimized task completion wait time
  • High-throughput I/O thread optimization

    • Location: c2me_rewrites_chunkio/.../C2MEStorageThread.java
    • Optimization: 10,000 spins + 100ns park, optimized read request processing
    • Effect: Maximized disk I/O throughput
  • Scheduler batch processing optimization

    • Location: c2me_base/.../SchedulingManager.java
    • Optimization: Removed unused timing code, immediate rescheduling in finally block, batch task scheduling
    • Effect: Keep scheduler running at full capacity
  • Priority queue fast path

    • Location: c2me_base/.../DynamicPriorityQueue.java
    • Added: isEmpty() method for O(1) fast checking
    • Effect: Reduced queue checking overhead
  • Optimized lock checking in NeighborLockingTask

    • Location: c2me_base/.../NeighborLockingTask.java
    • Optimization: Use indexed for loop instead of enhanced for loop, cache array length
    • Effect: Reduced allocation and improved loop performance
  • Optimized priority distance calculation

    • Location: c2me_base/.../SchedulingManager.java
    • Optimization: Use long-based Chebyshev distance calculation instead of creating ChunkPos objects
    • Effect: Reduced object allocation during priority updates

The Concurrent Chunk Management Engine for Forge -The Twilight Forest fix Team

profile avatar
  • 7
    Followers
  • 11
    Projects
  • 1.2M
    Downloads

Sponsor me here https://afdian.com/a/dreamofsh

More from dreamforShView all

  • Krypton Hybrid project image

    Krypton Hybrid

    • 22.8K
    • Mods

    Krypton Hybrid is a fork based on Krypton fnp legacy, providing the netty optimizations missing in the legacy version, replacing the speed compression implementation with native zstd and lz4 algorithms, and supporting hybrid server.

    • 22.8K
    • May 17, 2026
    • Mods
    • +1
  • Cherry Tinker project image

    Cherry Tinker

    • 28.3K
    • Mods

    A tic3's addon about tinker called cherry.

    • 28.3K
    • May 8, 2026
    • Mods
    • +1
  • Cloudertinker project image

    Cloudertinker

    • 26.5K
    • Mods

    This mod is a sub-mod of Tinkers' Construct 3,Added the linkage materials,in the current version, the linkage materials mainly based on Twilight Forest and its extended new materials have been added..

    • 26.5K
    • April 29, 2026
    • Mods
    • +1
  • ContingameIME-neo project image

    ContingameIME-neo

    • 67
    • Mods

    An unofficial neoforge continuation of IngameIME. Use input method in full screen Minecraft.

    • 67
    • April 19, 2026
    • Mods
    • +1
  • Krypton Hybrid project image

    Krypton Hybrid

    • 22.8K
    • Mods

    Krypton Hybrid is a fork based on Krypton fnp legacy, providing the netty optimizations missing in the legacy version, replacing the speed compression implementation with native zstd and lz4 algorithms, and supporting hybrid server.

    • 22.8K
    • May 17, 2026
    • Mods
    • +1
  • Cherry Tinker project image

    Cherry Tinker

    • 28.3K
    • Mods

    A tic3's addon about tinker called cherry.

    • 28.3K
    • May 8, 2026
    • Mods
    • +1
  • Cloudertinker project image

    Cloudertinker

    • 26.5K
    • Mods

    This mod is a sub-mod of Tinkers' Construct 3,Added the linkage materials,in the current version, the linkage materials mainly based on Twilight Forest and its extended new materials have been added..

    • 26.5K
    • April 29, 2026
    • Mods
    • +1
  • ContingameIME-neo project image

    ContingameIME-neo

    • 67
    • Mods

    An unofficial neoforge continuation of IngameIME. Use input method in full screen Minecraft.

    • 67
    • April 19, 2026
    • Mods
    • +1