Skip to content
A Geiger counter for allocations
Go
Branch: master
Clone or download
Latest commit 2c2b836 Aug 21, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE initial commit Aug 12, 2019
README.md Blame beep for everything Aug 21, 2019
geiger.go Add more geiger Aug 12, 2019
geiger_test.go Add more geiger Aug 12, 2019

README.md

geiger

GoDoc Go Report Card

go get lukechampine.com/geiger

Inspired by this tweet. Just call go geiger.Count() at the top of your main function. Don't worry, if you start tasting metal, you're probably just delusional.

This package is in a pretty unpolished state. First of all, it emits a constant tone, not a series of clicks like a real Geiger counter, because I couldn't figure out how to get the beep package to click the way I wanted. (EDIT: fixed, thanks @klauspost!) Second, the package itself incurs a non-zero number of allocations per second (~100 on MacOS, presumably different on other platforms) which throws off the reading. Third, it's completely unconfigurable: you can't adjust the "sensitivity," and you can only measure the number of objects allocated per second (as opposed to, e.g., the number of bytes allocated per second).

Still, I think the general idea of "use sound to alert the programmer that they're doing something stupid" has merit. If enough people agree, maybe we can work together to refine it into an actually useful tool.

Troubleshooting

This package uses beep to play audio. If you can't hear anything, please check the beep issue tracker (and open issues there, if necessary) rather than on this repo. I know basically nothing about audio interfaces, so I'm not going to be able to help you!

You can’t perform that action at this time.