[CLJS-757] Redundant bounds checking in indexed types Created: 29/Jan/14 Updated: 24/Feb/14 Resolved: 24/Feb/14
PersistentVector and TransientVector contain code paths where a bounds check is performed more than once unnecessarily.
|Comment by Francis Avila [ 29/Jan/14 11:44 PM ]|
Patch gives a minor across-the-board speedup on vector operations.
I also discovered and fixed an off-by-one check in PersistentVector's -seq, which causes an unnecessary ChunkedSeq to be created when vector length is exactly 32.
|Comment by David Nolen [ 23/Feb/14 4:34 PM ]|
Can we get a rebased version of this patch? Thanks.
|Comment by Francis Avila [ 24/Feb/14 12:22 AM ]|
Rebased cljs-757 with a change to unchecked-array-for-longvec (now first-array-for-longvec) and extra comments documenting invariants.
|Comment by David Nolen [ 24/Feb/14 5:59 AM ]|