Uploaded image for project: 'CouchDB'
  1. CouchDB
  2. COUCHDB-747

use lists:keysearch BIF to traverse ejson

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.11
    • 1.1
    • Database Core
    • None

    Description

      We use proplists:get_value to inspect JSON Objects in Erlang. I think we should switch to lists:keysearch. It's a BIF and appears to be 2-3x faster than proplists for a wide class of lookups. Here's a microbenchmark:

      http://gist.github.com/374220

      The get_value() functions in that gist provide a wrapper around keysearch to give it the same interface as proplists:get_value. The only incompatibility in the wrapper is that proplists will find atoms (instead of tuples) in the list, while keysearch will ignore them. But our JSON term format doesn't contain any standalone atoms, so this is not an issue for us.

      Attachments

        Activity

          People

            Unassigned Unassigned
            kocolosk Adam Kocoloski
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: