GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Minimal changes required to implement Foreign Function and Memory API by stroomdev66 · Pull Request #258 · lmdbjava/lmdbjava

Conversation

@stroomdev66

@stroomdev66 stroomdev66 commented Oct 24, 2025

Copy link
Copy Markdown
Collaborator

This PR represents the most minimal changes required to migrate LmdbJava to use the new Java 25 Foreign Function and Memory API and remove Unsafe. From a user perspective there is very little API change other than the requrement to use a memory Arena in some places.

At present the performance lags behind the previous version by about 30% in many scenarios. This is down to two things:

  1. The fundamental Java FFM API appears to be a small percentage slower.
  2. The removal of Unsafe has resulted in the need for additional object creation rather than the ability to constantly reuse buffers and repoint addresses.

We are in the process of addressing some of these issues and improving some other areas of the codebase to compensate.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@stroomdev66
Minimal changes required to implement Foreign Function and Memory API
c178d6c
@stroomdev66 stroomdev66 self-assigned this Oct 24, 2025
@at055612 at055612 mentioned this pull request Oct 24, 2025
Java 25, the Foreign Function & Memory API and removal of Unsafe #259
Open
@stroomdev66
stroomdev66 merged commit 0c82e3f into lmdbjava:java-foreign-function-and-memory-api Oct 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@stroomdev66 stroomdev66

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

1 participant

@stroomdev66
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.