^objects is a Clojure synonym for ^"[Ljava.lang.Object;".  Note that there are 
such synonyms for only a few Java types, not everything, e.g. there is no 
^strings.

What you are hinting is that a1 and a2 are Java arrays of objects.  I think 
this might speed up (aget a1 i) expressions, since it is known that a1 is an 
array of objects, but I'm not sure about that.  I believe "under the hood" in 
the JVM all arrays of Objects are treated the same, regardless of whether those 
Objects are String, Integer, java.awt.Color, etc.

Andy

On Feb 19, 2013, at 8:46 AM, Geo wrote:

> One thing I don't get is that switching the type hints from 
> [#^"[Ljava.lang.String;" a1 #^"[Ljava.lang.String;" a2]
> to [^objects a1 ^objects a2] didn't seem to have any negative impact on 
> performance. Can anyone explain why hinting ^objects is just as good as 
> specifying that it's an array of Strings? What are you hinting with ^objects 
> that Clojure doesn't already know?

-- 
-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to