chaokunyang opened a new pull request, #4000:
URL: https://github.com/apache/fory/pull/4000

   ## Why?
   
   Compatible-mode deserialization stopped caching exact-local schema `TypeInfo`
   objects in 1.7.0. Multiple sibling struct types then displaced the single
   depth-local hint and repeatedly recreated compatible serializers, including
   resubmitting code generation on every scoped read.
   
   ## What does this PR do?
   
   - Publish exact-local schema owners to the existing resolver header-hash 
cache.
   - Reuse the cached local `TypeInfo` while keeping shared remote metadata 
state
     and schema-version accounting unchanged.
   - Cover alternating exact-local schemas and the local-over-remote-hint rule.
   
   ## Benchmark
   
   Issue reproduction with eight distinct registered field types, 2-second 
warmup,
   and 3-second measurement on JDK 26 / Apple M4 Pro:
   
   | Compilation | Before | After |
   | --- | ---: | ---: |
   | Synchronous | 23,492 ops/s | 3,690,749 ops/s |
   | Asynchronous | 10,932 ops/s | 3,711,896 ops/s |
   
   The fixed async run produced no compiler task queue flood or rejected-task
   warnings.
   
   ## Testing
   
   - `ENABLE_FORY_DEBUG_OUTPUT=1 mvn -pl fory-core -Dtest=TypeDefHeaderHashTest 
test`
   - `mvn -pl fory-core test`
   - `mvn -pl fory-core spotless:check`
   - `prettier --check AGENTS.md`
   
   Closes #3999
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to