Vectors of primitives produced by vector-of do not support transients.
core.rrb-vector implements transient support for vectors of primitives. Such transient-enabled vectors of primitives can be obtained in a number of ways: (1) using a gvec instance as an argument to fv/catvec (if RRB concatenation happens, which is not guaranteed) or fv/subvec; (2) passing a gvec instance to fv/vec, which as of core.rrb-vector 0.0.11 will simply rewrap the gvec tree in an RRB wrapper; (3) using fv/vector-of instead of clojure.core/vector-of. Native support in gvec would still be useful as part of an effort to make supported functionality consistent across vector flavours (see CLJ-787 Open in this connection); gvec is also simpler and still has (and is likely to maintain) a performance edge.
A port of core.rrb-vector's transient support to gvec is available here:
I'll bring it up to date with current master shortly.
See the clojure-dev thread for some benchmarks: