Facter 3.x uses `system_profiler SPSoftwareDataType SPHardwareDataType` https://github.com/puppetlabs/facter/blob/master/lib/src/facts/osx/system_profiler_resolver.cc line 41
Performance of Facter 3.x is similar to Facter 4.x
time ./bin/facter-ng is_virtual
false
./bin/facter-ng is_virtual 0.28s user 0.18s system 66% cpu 0.701 total
time cfacter is_virtual
cfacter is_virtual 0.23s user 0.18s system 55% cpu 0.737 total