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
> <[email protected]> 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 [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---