octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Help in JSON encode/decode project


From: Abdallah Elshamy
Subject: Re: Help in JSON encode/decode project
Date: Wed, 11 Mar 2020 22:15:25 +0200

> At the moment you are focused on "octave-jsonstuff".  Please keep in
> mind, that there are two (three) other libraries as well.
> "octave-rapidjson" worked for me out-of-the-box too, contains test, but
> lacks of a Matlab-compatible interface.  JSONio has a very lightweight
> dependency, contains tests, but is based on the MEX-C-interface, which
> may not be a good choice for Octave core (mostly C++).  This is what I
> mean by cherry picking.

I have quickly checked them to understand what you mean. The tests they provide are very useful (especially octave-rapidjson as it provides big test cases). I understand now what you mean by cherry picking (certainly not for tests only, but also for approaches to the problem, design ...etc)

> I took a look at this benchmark [1] (which happens to be by the author
> of RapidJSON) and thought it was pretty convincing; the code is put
> together well, and I see it referenced in a lot of places.

Thanks a lot for sharing this link. this indeed is very useful.

> Based on you impressions, you can then prepare your proposal.  Of course
> you don't need to complete anything when applying for the project.

The list seems great but I would like to add more details to clarify some points for me:

  1. for the present time, I should spend more time with the four libraries (I already started) to decide my approach to the project so I can provide a more detailed time line and prepare my proposal.

  2. During the community bonding period, I should (besides getting more familiar with the organization) put a fine detailed and complete plan for the functions and the test suite.

  3. The first output of my work will be a complete test suit extracted from the four approaches and my additions to it. It will be Matlab-compatible for benchmarking.

  4. Asses comprehensively all four libraries with your tests and benchmarks. Create reliable figures, graphics to decide back-end (I don’t think that this is necessary since the link that Mr.Andrew Janke shared [1] provides a strong evidence that Rapidjson is better is my assumption is correct?)

  5. Produce a c++ implementation for jsondecode/jsonencode.

  6. convert my test suite to Octave BIST.

  7. Provide a proper documentation for the functions.

  8. Integrate the functions into octave core.

  9. Use the community and mentors feedback after submissions to perfect the patch.

A milestone list I have in mind is :

  1. deliver test suite

  2. deliver jsondecode

  3. deliver jsonencode


Please, let me know what you think about this.


Thanks for your time,

Abdallah


[1] https://github.com/miloyip/nativejson-benchmark




reply via email to

[Prev in Thread] Current Thread [Next in Thread]