Use efficient representation for balancedparens
gbaz opened this issue · 1 comments
gbaz commented
Using poppy for the parens part of the cursor led to a many-fold performance speedup in our use case (maybe 50-100x?).
getCurs bs = do
let cursor1@(JsonCursor t i b r) = FAST.makeCursor bs
let cursor = JsonCursor t i (fmap makePoppy512 b) r
return cursor
I.e. in the above, using cursor as opposed to cursor1 is ridiculously faster -- moving us from unusable to nicely usable. I think this should just be baked into the fast cursor.