The JSON Saga Continues...
By Thom McGrath on
Following up on my JSON Performance Tests Round 2 post, I decided to use some of the information in my tests to begin to make changes in my app.
I had decided that the JSONMBS class was worth the hassle given just how fast it is. I wrote a nice GenerateJSON function that could turn a whole bunch of stuff into a JSON string, including a class interface so any object could be become serializable.
The problem is in preparing the JSONMBS objects. All performance gained by using the MBS classes is completely lost by doing so. With the 10MB file, actually producing the content from scratch takes just as much time as letting Kem Tekinay's M_JSON module do it. The reverse is true for parsing too. Converting JSONMBS back into normal Xojo objects is about 4x slower than Xojo.Data, and about on-par with M_JSON.
Xojo.Data has the advantage of doing all the work it needs to inside its C++ code. If the MBS plugin really wants to compete, it will need to introduce simple GenerateJSON and ParseJSON methods like Xojo.Data and M_JSON have.