All Projects → lukechampine → Geiger

lukechampine / Geiger

Licence: mit
A Geiger counter for allocations

Programming Languages

go
31211 projects - #10 most used programming language

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!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].