Skip to content

Use JSON3 #479

@rafaqz

Description

@rafaqz

Type instability in JSON.Parser.parse is responsible for a massive amount of time-to-first X for most JuliaGizmos packages. It is responsible for about 10 seconds or half of the load time for Blink.Window().

Swapping AssetRegistry over to JSON3 more than halved the load time of Interact.slider
JuliaGizmos/AssetRegistry.jl#15

It should do something similar here. This probably also means swapping over JSExpr.jl, Knockout.jl and pretty much everything else in JuliaGizmos to use JSON3. I've done most of this, but its a bit of work to finish, so flagging to make sure it can be merged if I do finish it.

This is a flame-graph for @profview Blink.Window(). The large red areas are all JSON.Parser.parse, and likely some of the towers of type inference are too. The whole thing is about 20 seconds.

2022-01-22-224716_1920x1080_scrot

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