Comment by cogman10

6 hours ago

Yup, it's the same terrain.

I've made something like this in the past. And I did it exactly because `List<Foo>` was too expensive and slow.

    class FooSOA extends Collection<Foo> {
      double x[];
      double y[];
      double z[];
      
      Foo get(int index) { return new Foo(index); }
      
      record Foo(int index) {
        double x() { return FooSOA.this.x[i]; }
        double y() { return FooSOA.this.y[i]; }
        double z() { return FooSOA.this.z[i]; }
      }
    }