Questions tagged [avian]

Avian is a lightweight Java Virtual Machine (JVM) and class library designed to provide a useful subset of Java's features, suitable for building self-contained applications.

Avian is a lightweight Java Virtual Machine (JVM) and class library designed to provide a useful subset of Java's features, suitable for building self-contained applications.

The VM is implemented from scratch and designed to be efficient in size and performance, including features:

  • Just-in-time (JIT) compilation for fast program execution;
  • Generational, copying garbage collection to ensure short pause times and good spatial locality;
  • Thread-local heaps providing O(1) memory allocation with no synchronization overhead;
  • Null pointer dereferencing handled via operating system signals to avoid unnecessary branches;
  • Proper tail calls and continuations;

In the design the class library is considered to be as much loosely-coupled as possible, allowing optimization tools to aggressively isolate the minimum code needed for an application; this could result in smaller size and faster downloads and application startup times. Linkage against the OpenJDK classpath is supported for applications that require a more comprehensive standard library.

The Avian JVM is designed to be embedded along with applications into a single OS executable file, which could run on systems natively and doesn't require Oracle JVM.

2 questions
60
votes
4 answers

Scala on iOS using Avian

There is a relatively-new lightweight JVM called Avian that can produce executables for iOS targets. There isn't too much documentation on the website (and not much can be found searching with Google). I was wondering if anybody was aware of a…
Eduardo
  • 8,362
  • 6
  • 38
  • 72
1
vote
2 answers

Is there any benefit to override equals() for concrete type in java?

I need to compare hundreds of points to find path on 2D grid and I am really looking for performance. I overridden equals() in my Point's class: @Override public boolean equals(Object o) { if (o instanceof Point) { Point that =…
Netherwire
  • 2,669
  • 3
  • 31
  • 54