Skip to content

Instantly share code, notes, and snippets.

@hiredman
Created October 21, 2011 04:44
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save hiredman/1303118 to your computer and use it in GitHub Desktop.
tuples
tuples.core> (tuple 1 2)
[1 2]
tuples.core> (supers (class *1))
#{clojure.lang.IPersistentStack clojure.lang.IPersistentVector java.util.RandomAccess tuples.core.TupleAccess clojure.lang.IFn clojure.lang.IObj java.util.Collection clojure.lang.IPersistentCollection clojure.lang.Counted clojure.lang.Sequential java.util.concurrent.Callable clojure.lang.Reversible clojure.lang.Seqable java.util.Map$Entry java.lang.Comparable clojure.lang.IType java.lang.Runnable clojure.lang.IMapEntry clojure.lang.IMeta clojure.lang.Associative java.lang.Iterable java.lang.Object java.util.List java.io.Serializable clojure.lang.ILookup clojure.lang.Indexed}
tuples.core> (let [n 1e10 t (tuple 1 2) v (vector 1 2)] (time (dotimes [_ n] (get0 t))) (time (dotimes [_ n] (nth v 0))))
"Elapsed time: 7870.339 msecs"
"Elapsed time: 130419.589 msecs"
nil
tuples.core>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment