README
¶
exp
Experimental packages not in std and golang.org/exp
packages
-
sync
- generic sync.Map: modify sync.Map to support generic
- Phaser: a reusable synchronization barrier, similar in functionality to java.util.concurrent.Phaser
- Notifier: implement the observer pattern via channel
- Shard: a sharding data structure with lock-free read and write
- Exchanger: a synchronization point at which goroutines can pair and swap elements within pairs. Each goroutine presents some object on entry to the exchange method, matches with a partner goroutine, and receives its partner's object on return. An Exchanger may be viewed as a bidirectional form of a channel.
- atomicx: add C++ 20 atomic wait/notify feature for go std atomic
- Pointer[T]
- Value
- Uintptr
- Bool
- Int32
- Int64
- Uint32
- Uint64
- Pool: a generic pool, forked from https://github.com/mkmik/syncpool
- Broadcaster: a broadcaster to broadcast message to multiple receivers
-
container
- heap: generic heap
- binheap: human friendly generic heap
- list: generic list
- ring: generic ring
- skiplist: generic skiplist based on mauricegit/skiplist
- set: discussion at https://github.com/golang/go/discussions/47331
- Set: generic set
- SortedSet: generic sorted set
- maps:
- OrderedMap: an insert-order map. The main code is forked wk8/go-ordered-map
- AccessOrderedMap: an access-order map.
- BidiMap: a bidirectional map.
- Tuple: a collection of generic tuples.
- bits: a bitset implementation
-
chanx
- Batch: batch get from channels efficiently
-
io
- MmapReader: a mmap reader which implements io.Reader, io.ReadAt, io.Closer and can ReadLine
-
db
Rows
andRow
provides two helper functions to query structs from databases.RowsMap
andRowMap
provides two helper functions to query map from databases.
-
stat
Hist
provides a Histogram.
-
ebpf
- AttachUretprobe: a helper function to add Uretprobe in Go programs to avoid crash
-
internal data structure in go std libs
PoolDequeue
: a lock-free, fixed-size single-producer, multi-consumer queuePoolChain
: a lock-free, dynamically-sized single-producer, multi-consumer queue
-
mock
sqlmock
: a simple sql mockkafkamock
: kafka mock
Directories
¶
Path | Synopsis |
---|---|
container
|
|
heap
Package heap provides heap operations for any type that implements heap.Interface.
|
Package heap provides heap operations for any type that implements heap.Interface. |
list
Package list implements a doubly linked list.
|
Package list implements a doubly linked list. |
ring
Package ring implements operations on circular lists.
|
Package ring implements operations on circular lists. |
set
Package set defines a Set type that holds a set of elements.
|
Package set defines a Set type that holds a set of elements. |
skiplist
Package skiplist is an implementation of a skiplist to store elements in increasing order.
|
Package skiplist is an implementation of a skiplist to store elements in increasing order. |
Package ebpf provides utilities for fixed crash of uretprobes in Go programs.
|
Package ebpf provides utilities for fixed crash of uretprobes in Go programs. |
Click to show internal directories.
Click to hide internal directories.