Files
rippled/src/ripple/basics
Mark Travis 8eb8c77886 Performance logging and counters:
* Tally and duration counters for Job Queue tasks and RPC calls
    optionally rendered by server_info and server_state, and
    optionally printed to a distinct log file.
    - Tally each Job Queue task as it is queued, starts, and
      finishes running. Track total duration queued and running.
    - Tally each RPC call as it starts and either finishes
      successfully or throws an exception. Track total running
      duration for each.
  * Track currently executing Job Queue tasks and RPC methods
    along with durations.
  * Json-formatted performance log file written by a dedicated
    thread, for above-described data.
  * New optional parameter, "counters", for server_info and
    server_state. If set, render Job Queue and RPC call counters
    as well as currently executing tasks.
  * New configuration section, "[perf]", to optionally control
    performance logging to a file.
  * Support optional sub-second periods when rendering human-readable
    time points.
2018-04-08 02:24:38 -07:00
..
2018-04-08 02:24:38 -07:00
2018-04-08 01:52:11 -07:00
2015-05-22 11:09:50 -07:00
2016-09-29 16:28:37 -07:00
2018-04-08 02:24:38 -07:00
2018-04-08 02:24:38 -07:00
2015-05-22 11:09:50 -07:00
2018-04-08 01:52:11 -07:00
2018-01-17 13:43:54 -08:00
2018-04-08 01:52:11 -07:00
2018-04-08 02:24:38 -07:00
2018-04-08 01:52:11 -07:00
2018-02-13 09:08:14 -05:00
2018-04-08 01:52:11 -07:00
2015-06-02 16:52:22 -07:00
2015-09-25 06:29:07 -07:00
2018-04-08 01:52:11 -07:00
2018-01-17 13:43:54 -08:00
2015-03-02 16:49:56 -05:00
2016-04-20 12:01:25 -04:00

Basics

Utility functions and classes.

ripple/basic should contain no dependencies on other modules.

Choosing a rippled container.

  • std::vector

    • For ordered containers with most insertions or erases at the end.
  • std::deque

    • For ordered containers with most insertions or erases at the start or end.
  • std::list

    • For ordered containers with inserts and erases to the middle.
    • For containers with iterators stable over insert and erase.
    • Generally slower and bigger than std::vector or std::deque except for those cases.
  • std::set

    • For sorted containers.
  • ripple::hash_set

    • Where inserts and contains need to be O(1).
    • For "small" sets, std::set might be faster and smaller.
  • ripple::hardened_hash_set

The following container is deprecated

  • std::unordered_set
  • Use ripple::hash_set instead, which uses a better hashing algorithm.
  • Or use ripple::hardened_hash_set to prevent algorithmic complexity attacks.