| # m1cpu |
| |
| [](https://pkg.go.dev/github.com/shoenig/go-m1cpu) |
| [](https://github.com/shoenig/go-m1cpu/blob/main/LICENSE) |
| [](https://github.com/shoenig/go-m1cpu/actions/workflows/ci.yaml) |
| |
| The `go-m1cpu` module is a library for inspecting Apple Silicon CPUs in Go. |
| |
| Use the `m1cpu` library for looking up the CPU frequency for Apple M1 and M2 CPUs. |
| |
| # Install |
| |
| ```shell |
| go get github.com/shoenig/go-m1cpu@latest |
| ``` |
| |
| # Example |
| |
| ```go |
| package main |
| |
| import ( |
| "fmt" |
| |
| "github.com/shoenig/go-m1cpu" |
| ) |
| |
| func main() { |
| fmt.Println("Apple Silicon", m1cpu.IsAppleSilicon()) |
| |
| fmt.Println("pCore GHz", m1cpu.PCoreGHz()) |
| fmt.Println("eCore GHz", m1cpu.ECoreGHz()) |
| |
| fmt.Println("pCore Hz", m1cpu.PCoreHz()) |
| fmt.Println("eCore Hz", m1cpu.ECoreHz()) |
| } |
| ``` |
| |
| # CGO |
| |
| This package requires the use of CGO. Extracting the CPU properties is done via |
| Apple's IOKit framework, which is accessible only through system C libraries. |
| |
| # License |
| |
| Open source under the [MPL](LICENSE) |