tendermint/libs
Dev Ojha 89668c3179 clist: Speedup functions (#2208)
* clist: Speedup detachNext() and detachPrev()

We used unnecessary function calls, defers, and extra mutexes.
These are not our friends for writing fast code in our libs.

* Remove more defers from clist functions

* Add more benchmarks
2018-08-14 19:00:21 +04:00
..
autofile libs: Remove usage of custom Fmt, in favor of fmt.Sprintf (#2199) 2018-08-10 09:25:57 +04:00
bech32 make linter happy 2018-07-02 12:06:43 -04:00
cli fix import paths 2018-07-01 22:36:49 -04:00
clist clist: Speedup functions (#2208) 2018-08-14 19:00:21 +04:00
common cmap: Remove defers (#2210) 2018-08-14 18:59:04 +04:00
db libs: Remove usage of custom Fmt, in favor of fmt.Sprintf (#2199) 2018-08-10 09:25:57 +04:00
events Switch usage of math/rand to cmn's rand (#1980) 2018-07-16 11:20:37 +04:00
flowrate mv tmlibs files to libs dir 2018-07-01 22:36:03 -04:00
log fix import paths 2018-07-01 22:36:49 -04:00
pubsub Merge branch 'develop' into jae/literefactor4 2018-07-23 23:28:14 -04:00
test fix test folder mishap 2018-07-01 22:50:31 -04:00
version mv tmlibs files to libs dir 2018-07-01 22:36:03 -04:00
.editorconfig mv tmlibs files to libs dir 2018-07-01 22:36:03 -04:00
.gitignore mv tmlibs files to libs dir 2018-07-01 22:36:03 -04:00
CHANGELOG.md mv tmlibs files to libs dir 2018-07-01 22:36:03 -04:00
README.md mv tmlibs files to libs dir 2018-07-01 22:36:03 -04:00
circle.yml mv tmlibs files to libs dir 2018-07-01 22:36:03 -04:00
test.sh mv tmlibs files to libs dir 2018-07-01 22:36:03 -04:00

README.md

TMLIBS

This repo is a home for various small packages.

autofile

Autofile is file access with automatic log rotation. A group of files is maintained and rotation happens when the leading file gets too big. Provides a reader for reading from the file group.

cli

CLI wraps the cobra and viper packages and handles some common elements of building a CLI like flags and env vars for the home directory and the logger.

clist

Clist provides a linekd list that is safe for concurrent access by many readers.

common

Common provides a hodgepodge of useful functions.

db

DB provides a database interface and a number of implementions, including ones using an in-memory map, the filesystem directory structure, an implemention of LevelDB in Go, and the official LevelDB in C.

events

Events is a synchronous PubSub package.

flowrate

Flowrate is a fork of https://github.com/mxk/go-flowrate that added a SetREMA method.

log

Log is a log package structured around key-value pairs that allows logging level to be set differently for different keys.

merkle

Merkle provides a simple static merkle tree and corresponding proofs.

process

Process is a simple utility for spawning OS processes.

pubsub

PubSub is an asynchronous PubSub package.