binary optimization in couch_file
---------------------------------

                 Key: COUCHDB-1130
                 URL: https://issues.apache.org/jira/browse/COUCHDB-1130
             Project: CouchDB
          Issue Type: Improvement
          Components: Database Core
    Affects Versions: 1.0.2
            Reporter: Randall Leeds
            Priority: Minor
         Attachments: 
0001-refactor-remove_block_prefixes-2-for-optimization.patch

I've had this patch sitting around since January and kept forgetting to file 
the ticket. Hurray spring cleaning.

Just for fun I ran erlc with +bin_opt_info, which gives information about how 
the Erlang VM can optimize creating binary objects.

What follows is the commit message from my patch.
Even if I'm wrong about the last point, it can't hurt.
What think you all?

-------------------

Running erlc with +bin_opt_info gives an INFO message stating that "matching
anything else but a plain variable to the left of a binary pattern will prevent
delayed sub binary optimization; SUGGEST changing argument order"

I guess matching 0 is triggering this. If I understand correctly, this change
will allow the compiler to skip creating a sub-binary that starts at the block
boundary in the third clause and delay creation until we strip the leading byte
in the 0 clause. This means one less 1-byte binary every time we read across a
block boundary.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to