Thank you very much for your answers. The syntax was difficult to guess. Is there a general rule for forming the internal name of types?
It seems after a few tests that is is slightly slower (15-20%) than making a final static function: static final A arrayAccess (A [] array, int i) { return array[i]} and calling it. and similar in speed to: static final Object arrayAccess (Object [] array, int i) { return array[i]} Am I wrong if I deduce that this is not specialized on the type? I use it in a tight loop that does not much inside each loop, so the type checks do not seem to be negligible. I guess that's the price of trying to write solutions to not very interesting micro-benchmark :). Best regards, Nicolas. On Sat, 2009-08-15 at 12:06 -0400, David Nolen wrote: > You need to specify the array type. For example the following produces > a primitive array of n javax.vecmath.Vector2d elements. > > > (defn #^"[Ljavax.vecmath.Vector2d;" point-array [n] > (make-array javax.vecmath.Vector2d n)) > > > It works. If you want to see it in action take a look at: > > > http://github.com/swannodette/convex-hull/tree/master > > On Sat, Aug 15, 2009 at 11:41 AM, Nicolas Oury > <nicolas.o...@gmail.com> wrote: > > Dear all, > > I try to write a program where I access a java array of non > primitive > and realize aget is very slow. > (6x slower than the same program with clojure vectors instead > of java > arrays access) > > I tried a few combinations of type hints but can't manage to > prevent mty > program to spend most of its time there: > > 99.4% 0 + 8804 java.lang.reflect.Array.get > > Does anyone know how to speed that up? > Is it written somewhere in the java interop documentation? > > Best, > > Nicolas. > > > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---