AbsoluteTime(time: AbsoluteTime.now) - startedTime } private var startedTime: AbsoluteTime { let pid = processIdentifier var mib = [CTL_KERN, KERN_PROC, KERN_PROC_PID, pid] var info = kinfo_proc() var size = MemoryLayout.stride(ofValue: info) let status = sysctl(&mib, numericCast(mib.count), &info, &size, nil, 0) assert(status != -1) return AbsoluteTime(time: info.kp_proc.p_starttime) } } ... let launchTimeFromProcessStarted = ProcessInfo.processInfo.uptime * 1_000 print("\(launchTimeFromProcessStarted)ms") // got a similar as a Launch Time profile.