kovetskiy/go-fast

Compile Go programs 7x faster

Shell

364

5 commits

updated Apr 5, 2017

See the code

README

go-fast

Binary snippets for fast compilation Go projects that will increase your free time in 5x times.

go-fast-compile

Just compile your project without linking. This binary is suitable only for on-save hooks in your favorite editor.

go-fast-build

Build project only if source code has been changed. This binary is suitable for daily usage, it's must have binary for integration tests that run on save.

Efficiency

for x in `seq 1 20`; do time go build; done 2>&1 | awk '{ x += sprintf("%f", $9); } END { printf x/NR; }'
for x in `seq 1 20`; do time go-fast-compile; done 2>&1 | awk '{ x += sprintf("%f", $8); } END { printf x/NR; }'
projectgo buildgo-fast-compileprofit
orgalorg, 2789 lines2.3430.8263x faster
shadowc, 960 lines2.0110.4565x faster
manul, 502 lines1.5580.2677x faster

Installation

Arch Linux (god bless you) users can install package go-fast from AUR:

https://aur.archlinux.org/packages/go-fast/

other distros:

$ git clone https://github.com/kovetskiy/go-fast
$ cd go-fast
$ sudo make install

Usage

Of course go-fast's stuff works as go build binary and all passed variables will be passed to Go.

Contributors

kovetskiy

4 commits

yyoshiki41

1 commits

kovetskiy/go-fast

Compile Go programs 7x faster

Shell

364

5 commits

updated Apr 5, 2017

See the code

README

go-fast

Binary snippets for fast compilation Go projects that will increase your free time in 5x times.

go-fast-compile

Just compile your project without linking. This binary is suitable only for on-save hooks in your favorite editor.

go-fast-build

Build project only if source code has been changed. This binary is suitable for daily usage, it's must have binary for integration tests that run on save.

Efficiency

for x in `seq 1 20`; do time go build; done 2>&1 | awk '{ x += sprintf("%f", $9); } END { printf x/NR; }'
for x in `seq 1 20`; do time go-fast-compile; done 2>&1 | awk '{ x += sprintf("%f", $8); } END { printf x/NR; }'
projectgo buildgo-fast-compileprofit
orgalorg, 2789 lines2.3430.8263x faster
shadowc, 960 lines2.0110.4565x faster
manul, 502 lines1.5580.2677x faster

Installation

Arch Linux (god bless you) users can install package go-fast from AUR:

https://aur.archlinux.org/packages/go-fast/

other distros:

$ git clone https://github.com/kovetskiy/go-fast
$ cd go-fast
$ sudo make install

Usage

Of course go-fast's stuff works as go build binary and all passed variables will be passed to Go.

Contributors

kovetskiy

4 commits

yyoshiki41

1 commits

Languages

Shell

83.4%

Makefile

16.6%