Skip to content

Instantly share code, notes, and snippets.

@chockenberry
Last active April 28, 2026 03:04
Show Gist options
  • Select an option

  • Save chockenberry/1d08129bdf41bfb70e98c3a75ce74578 to your computer and use it in GitHub Desktop.

Select an option

Save chockenberry/1d08129bdf41bfb70e98c3a75ce74578 to your computer and use it in GitHub Desktop.
Super vs. Performance vs. Efficiency Cores on Apple Silicon M5
# run the following commands from a Terminal window on an M5, M5 Pro, or M5 Max:
% sysctl -a | grep "machdep.cpu.brand_string"
% sysctl -a | grep "hw.perflevel"
% ioreg -l -b -p "IODeviceTree" -r -n "cpus" | grep "cluster-type"
% ioreg -l -b -p "IODeviceTree" -r -n "cpus" | grep "logical-cpu-id"
# paste the results below - thank you!
@jmccance
Copy link
Copy Markdown

From a MacBook Pro with an M5 Pro:

# run the following commands from a Terminal window on an M5, M5 Pro, or M5 Max:

% sysctl -a | grep "machdep.cpu.brand_string"
machdep.cpu.brand_string: Apple M5 Pro

% sysctl -a | grep "hw.perflevel"
hw.perflevel0.physicalcpu: 6
hw.perflevel0.physicalcpu_max: 6
hw.perflevel0.logicalcpu: 6
hw.perflevel0.logicalcpu_max: 6
hw.perflevel0.l1icachesize: 196608
hw.perflevel0.l1dcachesize: 131072
hw.perflevel0.l2cachesize: 16777216
hw.perflevel0.cpusperl2: 6
hw.perflevel0.name: Super
hw.perflevel1.physicalcpu: 12
hw.perflevel1.physicalcpu_max: 12
hw.perflevel1.logicalcpu: 12
hw.perflevel1.logicalcpu_max: 12
hw.perflevel1.l1icachesize: 131072
hw.perflevel1.l1dcachesize: 65536
hw.perflevel1.l2cachesize: 8388608
hw.perflevel1.cpusperl2: 6
hw.perflevel1.name: Performance

% ioreg -l -b -p "IODeviceTree" -r -n "cpus" | grep "cluster-type"
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"P">
  |     "cluster-type" = <"P">
  |     "cluster-type" = <"P">
  |     "cluster-type" = <"P">
  |     "cluster-type" = <"P">
        "cluster-type" = <"P">

% ioreg -l -b -p "IODeviceTree" -r -n "cpus" | grep "logical-cpu-id"
  |     "logical-cpu-id" = 0
  |     "logical-cpu-id" = 1
  |     "logical-cpu-id" = 2
  |     "logical-cpu-id" = 3
  |     "logical-cpu-id" = 4
  |     "logical-cpu-id" = 5
  |     "logical-cpu-id" = 6
  |     "logical-cpu-id" = 7
  |     "logical-cpu-id" = 8
  |     "logical-cpu-id" = 9
  |     "logical-cpu-id" = 10
  |     "logical-cpu-id" = 11
  |     "logical-cpu-id" = 12
  |     "logical-cpu-id" = 13
  |     "logical-cpu-id" = 14
  |     "logical-cpu-id" = 15
  |     "logical-cpu-id" = 16
        "logical-cpu-id" = 17

@Sonofasailor42
Copy link
Copy Markdown

% sysctl -a | grep "machdep.cpu.brand_string"
machdep.cpu.brand_string: Apple M5 Pro
% sysctl -a | grep "hw.perflevel"
hw.perflevel0.physicalcpu: 6
hw.perflevel0.physicalcpu_max: 6
hw.perflevel0.logicalcpu: 6
hw.perflevel0.logicalcpu_max: 6
hw.perflevel0.l1icachesize: 196608
hw.perflevel0.l1dcachesize: 131072
hw.perflevel0.l2cachesize: 16777216
hw.perflevel0.cpusperl2: 6
hw.perflevel0.name: Super
hw.perflevel1.physicalcpu: 12
hw.perflevel1.physicalcpu_max: 12
hw.perflevel1.logicalcpu: 12
hw.perflevel1.logicalcpu_max: 12
hw.perflevel1.l1icachesize: 131072
hw.perflevel1.l1dcachesize: 65536
hw.perflevel1.l2cachesize: 8388608
hw.perflevel1.cpusperl2: 6
hw.perflevel1.name: Performance
% ioreg -l -b -p "IODeviceTree" -r -n "cpus" | grep "cluster-type"
| "cluster-type" = <"M">
| "cluster-type" = <"M">
| "cluster-type" = <"M">
| "cluster-type" = <"M">
| "cluster-type" = <"M">
| "cluster-type" = <"M">
| "cluster-type" = <"M">
| "cluster-type" = <"M">
| "cluster-type" = <"M">
| "cluster-type" = <"M">
| "cluster-type" = <"M">
| "cluster-type" = <"M">
| "cluster-type" = <"P">
| "cluster-type" = <"P">
| "cluster-type" = <"P">
| "cluster-type" = <"P">
| "cluster-type" = <"P">
"cluster-type" = <"P">
% ioreg -l -b -p "IODeviceTree" -r -n "cpus" | grep "logical-cpu-id"
| "logical-cpu-id" = 0
| "logical-cpu-id" = 1
| "logical-cpu-id" = 2
| "logical-cpu-id" = 3
| "logical-cpu-id" = 4
| "logical-cpu-id" = 5
| "logical-cpu-id" = 6
| "logical-cpu-id" = 7
| "logical-cpu-id" = 8
| "logical-cpu-id" = 9
| "logical-cpu-id" = 10
| "logical-cpu-id" = 11
| "logical-cpu-id" = 12
| "logical-cpu-id" = 13
| "logical-cpu-id" = 14
| "logical-cpu-id" = 15
| "logical-cpu-id" = 16
"logical-cpu-id" = 17

@gbradley
Copy link
Copy Markdown

M5:

% sysctl -a | grep "machdep.cpu.brand_string"

machdep.cpu.brand_string: Apple M5

% sysctl -a | grep "hw.perflevel"

hw.perflevel1.physicalcpu: 6
hw.perflevel1.physicalcpu_max: 6
hw.perflevel1.logicalcpu: 6
hw.perflevel1.logicalcpu_max: 6
hw.perflevel1.l1icachesize: 131072
hw.perflevel1.l1dcachesize: 65536
hw.perflevel1.l2cachesize: 6291456
hw.perflevel1.cpusperl2: 6
hw.perflevel1.name: Efficiency
hw.perflevel0.physicalcpu: 4
hw.perflevel0.physicalcpu_max: 4
hw.perflevel0.logicalcpu: 4
hw.perflevel0.logicalcpu_max: 4
hw.perflevel0.l1icachesize: 196608
hw.perflevel0.l1dcachesize: 131072
hw.perflevel0.l2cachesize: 16777216
hw.perflevel0.cpusperl2: 4
hw.perflevel0.name: Performance

% ioreg -l -b -p "IODeviceTree" -r -n "cpus" | grep "cluster-type"

| "cluster-type" = <"E">
| "cluster-type" = <"E">
| "cluster-type" = <"E">
| "cluster-type" = <"E">
| "cluster-type" = <"E">
| "cluster-type" = <"E">
| "cluster-type" = <"P">
| "cluster-type" = <"P">
| "cluster-type" = <"P">
"cluster-type" = <"P">

% ioreg -l -b -p "IODeviceTree" -r -n "cpus" | grep "logical-cpu-id"

| "logical-cpu-id" = 0
| "logical-cpu-id" = 1
| "logical-cpu-id" = 2
| "logical-cpu-id" = 3
| "logical-cpu-id" = 4
| "logical-cpu-id" = 5
| "logical-cpu-id" = 6
| "logical-cpu-id" = 7
| "logical-cpu-id" = 8
"logical-cpu-id" = 9

@kylebshr
Copy link
Copy Markdown

M5 Max

machdep.cpu.brand_string: Apple M5 Max
hw.perflevel0.physicalcpu: 6
hw.perflevel0.physicalcpu_max: 6
hw.perflevel0.logicalcpu: 6
hw.perflevel0.logicalcpu_max: 6
hw.perflevel0.l1icachesize: 196608
hw.perflevel0.l1dcachesize: 131072
hw.perflevel0.l2cachesize: 16777216
hw.perflevel0.cpusperl2: 6
hw.perflevel0.name: Super
hw.perflevel1.physicalcpu: 12
hw.perflevel1.physicalcpu_max: 12
hw.perflevel1.logicalcpu: 12
hw.perflevel1.logicalcpu_max: 12
hw.perflevel1.l1icachesize: 131072
hw.perflevel1.l1dcachesize: 65536
hw.perflevel1.l2cachesize: 8388608
hw.perflevel1.cpusperl2: 6
hw.perflevel1.name: Performance
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"P">
  |     "cluster-type" = <"P">
  |     "cluster-type" = <"P">
  |     "cluster-type" = <"P">
  |     "cluster-type" = <"P">
        "cluster-type" = <"P">
  |     "logical-cpu-id" = 0
  |     "logical-cpu-id" = 1
  |     "logical-cpu-id" = 2
  |     "logical-cpu-id" = 3
  |     "logical-cpu-id" = 4
  |     "logical-cpu-id" = 5
  |     "logical-cpu-id" = 6
  |     "logical-cpu-id" = 7
  |     "logical-cpu-id" = 8
  |     "logical-cpu-id" = 9
  |     "logical-cpu-id" = 10
  |     "logical-cpu-id" = 11
  |     "logical-cpu-id" = 12
  |     "logical-cpu-id" = 13
  |     "logical-cpu-id" = 14
  |     "logical-cpu-id" = 15
  |     "logical-cpu-id" = 16
        "logical-cpu-id" = 17

@subecho
Copy link
Copy Markdown

subecho commented Apr 28, 2026

From my M5 Pro, hope this helps!

Tanager in ~
❯ sysctl -a | grep "machdep.cpu.brand_string"
machdep.cpu.brand_string: Apple M5 Pro

Tanager in ~
❯ sysctl -a | grep "hw.perflevel"
hw.perflevel0.physicalcpu: 6
hw.perflevel0.physicalcpu_max: 6
hw.perflevel0.logicalcpu: 6
hw.perflevel0.logicalcpu_max: 6
hw.perflevel0.l1icachesize: 196608
hw.perflevel0.l1dcachesize: 131072
hw.perflevel0.l2cachesize: 16777216
hw.perflevel0.cpusperl2: 6
hw.perflevel0.name: Super
hw.perflevel1.physicalcpu: 12
hw.perflevel1.physicalcpu_max: 12
hw.perflevel1.logicalcpu: 12
hw.perflevel1.logicalcpu_max: 12
hw.perflevel1.l1icachesize: 131072
hw.perflevel1.l1dcachesize: 65536
hw.perflevel1.l2cachesize: 8388608
hw.perflevel1.cpusperl2: 6
hw.perflevel1.name: Performance

Tanager in ~
❯ ioreg -l -b -p "IODeviceTree" -r -n "cpus" | grep "cluster-type"
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"M">
  |     "cluster-type" = <"P">
  |     "cluster-type" = <"P">
  |     "cluster-type" = <"P">
  |     "cluster-type" = <"P">
  |     "cluster-type" = <"P">
        "cluster-type" = <"P">

Tanager in ~
❯ ioreg -l -b -p "IODeviceTree" -r -n "cpus" | grep "logical-cpu-id"
  |     "logical-cpu-id" = 0
  |     "logical-cpu-id" = 1
  |     "logical-cpu-id" = 2
  |     "logical-cpu-id" = 3
  |     "logical-cpu-id" = 4
  |     "logical-cpu-id" = 5
  |     "logical-cpu-id" = 6
  |     "logical-cpu-id" = 7
  |     "logical-cpu-id" = 8
  |     "logical-cpu-id" = 9
  |     "logical-cpu-id" = 10
  |     "logical-cpu-id" = 11
  |     "logical-cpu-id" = 12
  |     "logical-cpu-id" = 13
  |     "logical-cpu-id" = 14
  |     "logical-cpu-id" = 15
  |     "logical-cpu-id" = 16
        "logical-cpu-id" = 17

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment