Skip to content

Revise MemoryParserState #235

@TotalVerb

Description

@TotalVerb

cc @ScottPJones, @stevengj

MemoryParserState needs a big revision as it has aged over the years. I merged #234 in the meantime as the performance has not been benchmarked in a while and it is probably not worth the extra effort to continue to maintain the current code. I expect to have some time this week to take on this project, and so far have the following ideas in mind, alongside the Julia v0.6 and v0.7 modernization:

  • Instead of using Vector{UInt8}, String can be used directly in many situations.
  • Instead of totally falling back on the slow parsing if any escapes are found, we should copy as much as we can directly, and then append the escape, and continue. This should help with strings with few escapes and long strings of memcpy-able memory.
  • Audit and profile to see what is actually in need of improvement (this has not been done in a while).
  • Hopefully simplify the code, overall.
  • Hopefully also address some of the issues like JSON.parse fails for cweb/url-testing/master/urls.json #232.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions