Hasty Briefsbeta

macOS Command tools, threads and QoS

17 hours ago
  • #macOS
  • #QoS
  • #performance
  • Fast Apple silicon Macs may take a long time to tar and Gzip large folders due to threading and Quality of Service (QoS) settings.
  • Threading affects performance: single-threaded processes can only run on one CPU core at a time, limiting speed.
  • macOS assigns threads to cores based on QoS, with higher QoS (e.g., 33 for userInteractive) typically running on Performance (P) cores and lower QoS (e.g., 9 for background) on Efficiency (E) cores.
  • Command-line tools like tar are not necessarily assigned low QoS; their slowness often stems from being single-threaded rather than running on E cores.
  • Activity Monitor's CPU History can help identify which core types (P or E) are being utilized by a process.
  • Multi-threaded compression tools (e.g., Cormorant, Keka) perform faster than single-threaded ones (e.g., tar) by leveraging multiple P cores.
  • Background tasks (e.g., LaunchAgents, LaunchDaemons) often run at low QoS (9 or lower) on E cores, as specified in their property lists.
  • For better performance, use multi-threaded alternatives to single-threaded tools like tar.