[linux-audio-dev] java real-time deliverability

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-dev] java real-time deliverability
From: est_AT_hyperreal.org
Date: to syys   09 1999 - 18:57:09 EDT


David Slomin discourseth:
> On Wed, 8 Sep 1999 est_AT_hyperreal.org wrote:
>
> > Here's a random question for you that amplifies Jair-Rohm's query: how
> > deliverable is Java at this point for real-time purposes? I'm
> > especially concerned about garbage collection pauses. I know they
> > aren't inherent in the language.
>
> I'm not yet doing any realtime I/O in the sequencer, so I haven't been
> able to test the performance yet. When the time comes, I plan to do as
> much as possible of the realtime stuff in C via JNI.

Hmm..that may not be necessary actually, but I'm sure you'll find
out. :)

> At that point, the
> latency issues will be on a par with any C program.

I've looked into this a bit since I last posted about it, and it seems
that when you allocate an object, you are not guaranteed any sort of
bounded pause. Even Sun's HotSpot, though it has an `incremental'
collector, does not bound gc pauses.

> My prior experience with JVM's has been that they _never_ garbage collect
> until they actually run out of memory.

It's not true anymore, but even if it were, is that something you can
dependably code to for an application used in performance situations?

> I don't know if this is still the
> case; I know that the garbage collection process is usually a major point
> of concern in garbage collected languages like Lisp. However, Java has
> managed to squeak by in this because most Java programs (and especially
> applets) are small and short-lived, so they tend not to run out of memory
> during their lifespan.

Well, you can be very imperative in Java. You can simply not allocate
during performance periods.

Eric


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : pe maalis 10 2000 - 07:27:11 EST