• Stars
    star
    120
  • Rank 295,983 (Top 6 %)
  • Language
    Go
  • License
    Other
  • Created over 13 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Go micro-benchmarks for calculating the speed of language constructs
== About ==

GoSpeed is a library of micro-benchmarks for Go which evolved from the GoLightly project. It's main
utility is for understanding and reasoning about the performance of Go programs.


== Usage ==

Download the repo to a convenient location in your $GOPATH

	git clone [email protected]:feyeleanor/gospeed.git

or install it to pkg/mod

	go get github.com/feyeleanor/GoSpeed

On macOS/Linux run the benchmarks with:

	go test -test.bench=".*"

or on Windows

	go test -bench .*

If you're running on older hardware such as an Intel Atom N270 netbook (which the early versions of
GoSpeed were developed on) then you may also need to add a custom timeout to complete benchmarks
which make significant use of channels as the default aggregate test timeout is ten minutes.

On macOS/Linux

	go test -test.bench=".*" -test.timeout="60m"

on Windows

	go test -bench .* -timeout 60m

More Repositories

1

GoLightly

A customisable virtual machine written in Go
Go
222
star
2

GoNotebook

All source code from my golang book A Go Developer's Notebook
Go
111
star
3

slices

Implementations of slice-based data types in Go
Go
67
star
4

GoNetworking

Example code demonstrating how the use of Go's standard networking libraries for plaintext and encrypted communications, drawn from conference talks in 2014.
Go
30
star
5

serendipity

A pure Go relational database system ported from and inspired by SQLite 3
C
28
star
6

lists

Implementations of various linear and cyclic list data-structures for Go
Go
26
star
7

sequences

Generic Go iterators on steroids
Go
20
star
8

wendigo

An experimental translation of SQLite to Go - superseded by Serendipity
Go
19
star
9

chain

An implementation of the classic Lisp-style Cons list data structure, a chain of value-link pairs.
Go
18
star
10

sexp

An S-Expression library for Go
Go
17
star
11

raw

Taking a Ruby-shaped chainsaw to Go type safety in the interests of elegance
Go
17
star
12

greenspun

A collection of useful lisp functionality for inclusion in complex Go programs embracing Greenspun's 10th Law
Go
15
star
13

GoFORTH

A primitive Forth implementation in Go
Go
12
star
14

atomiser

an input scanner for reading s-expressions and turning them into go data objects
Go
9
star
15

typelib

A collection of container types for Go's core types providing a batteries-included experience as usually found in higher level languages such as Ruby and Python.
Go
8
star
16

vm-fragments

Code fragments from my talks on implementing virtual machines
Ruby
7
star
17

GoGenericsTalk

Code from a series of talks on Generics, Reflection, Higher-Order Functions and Collections in Go
Go
4
star
18

dice

A simple dice pool abstraction for pen-and-paper style games
Go
4
star
19

WebSocketTalk

Code from GoLab 2020 talk on WebSockets in Golang
Go
3
star
20

sets

Hash-based sets for go
Go
3
star
21

GoFigure

Trivial command-line file template tool written in Go
Go
3
star
22

goDB

A high-level database access library for Go
Go
3
star
23

intro_to_fp_in_go

Code from An Introduction to Functional Programming in Go
Go
2
star
24

maps

Go generic functions for manipulating map data types
Go
2
star
25

webcryptodemo

Simple examples of writing RESTy encrypted web services in #golang
Go
2
star
26

Ruby-Plumber-s-Toolkit

Code for interfacing Ruby with low-level OS facilities
2
star
27

jittery

Go package to use panic/recover for custom flow control.
Go
1
star
28

feyeleanor.github.com

Profile pages
1
star
29

GoParanoia

Code from the Golab 2019 workshop "Adventures in Paranoia with Go and SQLite"
Go
1
star