Skip to content

Change json_pointer to provide an iterator begin/end/etc, don't use vectors, and also enable string_view #1312

@timprepscius

Description

@timprepscius

I'm doing almost all interactions with my json trees via json_pointer.
The json pointer's vector is a performance bottle neck.

In my view, json_pointer should have the pointer_type be defined in the template specialization.
(so that I can easily turn on string_view)

And it should never split the strings into a vector, but rather allow for iteration, do on-the-fly-unescaping as needed.

In my my case, the speed up is quite considerable.

Also, this goes hand in hand with moving the object_t key_type to a separate template parameter.
(so that I can easily turn on string_view in the basic_json as well)

Will post a PR prob thurs/fri. Will just make a new json_pointer class and if def, instead of making changes, might be useful to test one against the other.

Metadata

Metadata

Assignees

No one assigned

    Labels

    state: stalethe issue has not been updated in a while and will be closed automatically soon unless it is updatedstate: waiting for PR

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions