CONTRIBUTING
author Gregory Szorc <gregory.szorc@gmail.com>
Wed, 29 Aug 2018 16:43:17 -0700
changeset 39576 84bf6ded9317
parent 30084 a492610a2fc1
permissions -rw-r--r--
wireprotoframing: buffer emitted data to reduce frame count An upcoming commit introduces a wire protocol command that can emit hundreds of thousands of small objects. Without a buffering layer, we would emit a single, small frame for every object. Performance profiling revealed this to be a source of significant overhead for both client and server. This commit introduces a very crude buffering layer so that we emit fewer, bigger frames in such a scenario. This code will likely get rewritten in the future to be part of the streams API, as we'll need a similar strategy for compressing data. I don't want to think about it too much at the moment though. server before: user 32.500+0.000 sys 1.160+0.000 after: user 20.230+0.010 sys 0.180+0.000 client before: user 133.400+0.000 sys 93.120+0.000 after: user 68.370+0.000 sys 32.950+0.000 This appears to indicate we have significant overhead in the frame processing code on both client and server. It might be worth profiling that at some point... Differential Revision: https://phab.mercurial-scm.org/D4473
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
30084
a492610a2fc1 contributing: add new file with a pointer to the wiki
Augie Fackler <augie@google.com>
parents:
diff changeset
     1
Our full contribution guidelines are in our wiki, please see:
a492610a2fc1 contributing: add new file with a pointer to the wiki
Augie Fackler <augie@google.com>
parents:
diff changeset
     2
a492610a2fc1 contributing: add new file with a pointer to the wiki
Augie Fackler <augie@google.com>
parents:
diff changeset
     3
https://www.mercurial-scm.org/wiki/ContributingChanges
a492610a2fc1 contributing: add new file with a pointer to the wiki
Augie Fackler <augie@google.com>
parents:
diff changeset
     4
a492610a2fc1 contributing: add new file with a pointer to the wiki
Augie Fackler <augie@google.com>
parents:
diff changeset
     5
If you just want a checklist to follow, you can go straight to
a492610a2fc1 contributing: add new file with a pointer to the wiki
Augie Fackler <augie@google.com>
parents:
diff changeset
     6
a492610a2fc1 contributing: add new file with a pointer to the wiki
Augie Fackler <augie@google.com>
parents:
diff changeset
     7
https://www.mercurial-scm.org/wiki/ContributingChanges#Submission_checklist
a492610a2fc1 contributing: add new file with a pointer to the wiki
Augie Fackler <augie@google.com>
parents:
diff changeset
     8
a492610a2fc1 contributing: add new file with a pointer to the wiki
Augie Fackler <augie@google.com>
parents:
diff changeset
     9
If you can't run the entire testsuite for some reason (it can be
a492610a2fc1 contributing: add new file with a pointer to the wiki
Augie Fackler <augie@google.com>
parents:
diff changeset
    10
difficult on Windows), please at least run `contrib/check-code.py` on
a492610a2fc1 contributing: add new file with a pointer to the wiki
Augie Fackler <augie@google.com>
parents:
diff changeset
    11
any files you've modified and run `python contrib/check-commit` on any
a492610a2fc1 contributing: add new file with a pointer to the wiki
Augie Fackler <augie@google.com>
parents:
diff changeset
    12
commits you've made (for example, `python contrib/check-commit
a492610a2fc1 contributing: add new file with a pointer to the wiki
Augie Fackler <augie@google.com>
parents:
diff changeset
    13
273ce12ad8f1` will report some style violations on a very old commit).