package
0.0.0-20240819164739-f47aed85de5a
Repository: https://github.com/unix-world/smartgo.git
Documentation: pkg.go.dev

# README

lotsa

Lotsa is a simple Go library for executing lots of operations spread over any number of threads.

Install

go get -u github.com/tidwall/lotsa

Example

Here we load 1,000,000 operations spread over 4 threads.

var total int64
lotsa.Ops(1000000, 4,
    func(i, thread int) {
        atomic.AddInt64(&total, 1)
    },
)
println(total)

Prints 1000000

To output some benchmarking results, set the lotsa.Output prior to calling lotsa.Ops

var total int64
lotsa.Output = os.Stdout
lotsa.Ops(1000000, 4,
    func(i, thread int) {
        atomic.AddInt64(&total, 1)
    },
)

Prints:

1,000,000 ops over 4 threads in 23ms, 43,580,037/sec, 22 ns/op

Contact

Josh Baker @tidwall

License

Source code is available under the MIT License.

# Functions

Ops executed a number of operations over a multiple goroutines.
WriteOutput writes an output line to the specified writer.

# Variables

MemUsage is used to output the memory usage.
Output is used to print elased time and ops/sec.