DevRoom Proposal: MappedByteBuffer Operations SpeedUp of 150x

Christopher Friedt chrisfriedt at gmail.com
Sat Nov 1 15:50:39 CET 2014


Hi,

I'd like to give a presentation in the Java Developer Room next year
at FOSDEM. I've put together a proposal below based on the template at
[1].

Title: MappedByteBuffer.hurray()!

Abstract:

This patchset [2], currently implemented as a proof of concept using
JamVM and GNU Classpath, enables

1) the JVM to mmap special files (i.e. those in /dev) - something no
other VM can do AFAIK
2) a true, direct, MappedByteBuffer from any mapping or pointer in the CRT
3) provides a safe, memory-managed Java backing array, via
MappedByteBuffer.array()
4) speeds up MappedByteBuffer I/O by factor of up to 150 times!!

In human terms, it lets me draw to the FB using pure Java :-) Since
originally posting my patchset, I have made a few changes including
removing the custom JNI calls in favour of using sun.misc.Unsafe API.

* If possible describe why Free Java is helpful or perhaps even
essential to your project.

This would have been practically impossible to do with a closed-source
JVM and class library. JamVM and GNU Classpath have been open source
for as long as I've known, and that's enabled me to become familiar
enough with the source to make it do whatever I needed in various
embedded environments.

* What the audience will learn from the talk.

I will provide a fairly minimal VMWare image so that the audience can
easily download the VM, modify some Java code, and draw whatever
demo's they would like to to the FB - using pure Java! My forks are up
on github [3,4]

* How can people help out with the project, what feedback are you looking for?

I would like to have some feedback about the patchset to get it in
good enough shape for acceptance to GNU Classpath and JamVM. I would
like to entice some other tinkerers to port the changes to OpenJDK as
well, and would like to get some feedback about possibly using JNA in
combination with my /dev/fb and /dev/event classes. Lastly, I would
very much like to open up the discussion about forming a
performance-optimization group.

Recording me on audio and/or video: YES (acceptable)

Brief Bio:

Currently, Christopher Friedt is Principal Embedded Firmware Engineer
at MMB Networks. He has been hacking Linux for about 15 years and
embedded Java for about 10. He has worked in the areas of industrial
and consumer radio, mobile radio, embedded electronics, and signal
processing since 2006 when he first laid his hands on a v4T ARM. You
can find him hash-tagging various things on Google+ most frequently
these days.

Microblog URL: plus.google.com/+ChristopherFriedt
Blog URL: perpetual-notion.blogspot.com

[1] http://wiki.debian.org/Java/DevJam/2015/Fosdem/CallForParticipation
[2] https://plus.google.com/+ChristopherFriedt/posts/N4eVKvn2oL4
[3] https://github.com/cfriedt/jamvm (
[4] https://github.com/cfriedt/classpath


More information about the java-devroom mailing list