Skip to content

feat(java): direct static varhandle field accessors#3778

Open
chaokunyang wants to merge 6 commits into
apache:mainfrom
chaokunyang:optimize_fory_java_perf
Open

feat(java): direct static varhandle field accessors#3778
chaokunyang wants to merge 6 commits into
apache:mainfrom
chaokunyang:optimize_fory_java_perf

Conversation

@chaokunyang

@chaokunyang chaokunyang commented Jun 22, 2026

Copy link
Copy Markdown
Collaborator

Why?

What does this PR do?

non static VarHandle could not be compiled into direct field access, this pr generate static final varhandle for jdk25 instead.

Related issues

None.

AI Contribution Checklist

Does this PR introduce any user-facing change?

No. This changes internal Java serializer accessor generation and runtime codegen behavior only.

  • Does this PR introduce any public API change?
  • Does this PR introduce any binary protocol compatibility change?

Benchmark

Benchmark                              (bufferType)   (objectType)  (references)   Mode  Cnt         Score         Error  Units
UserTypeSerializeSuite.fory_serialize         array  MEDIA_CONTENT         false  thrpt    5  15921306.512 ± 1695382.132  ops/s

@chaokunyang chaokunyang reopened this Jun 23, 2026
@chaokunyang chaokunyang force-pushed the optimize_fory_java_perf branch from 7e06ab3 to 639c752 Compare June 23, 2026 06:49
@chaokunyang chaokunyang changed the title feat(java): add bytecode private field accessors feat(java): direct static varhandle field accessors Jun 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants