improve start time by moving an initial read to the background

This commit is contained in:
Serhiy Mytrovtsiy
2020-04-03 15:42:30 +02:00
parent e1e4145a00
commit e6b942579e
10 changed files with 30 additions and 12 deletions

View File

@@ -56,7 +56,9 @@ class BatteryReader: Reader {
self.service = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("AppleSmartBattery"))
if self.available {
self.read()
DispatchQueue.global(qos: .default).async {
self.read()
}
}
}

View File

@@ -45,7 +45,9 @@ class CPULoadReader: Reader {
}
if self.available {
self.read()
DispatchQueue.global(qos: .default).async {
self.read()
}
}
}

View File

@@ -27,7 +27,9 @@ class CPUProcessReader: Reader {
init(_ updater: @escaping ([TopProcess]) -> Void) {
self.callback = updater
if self.available {
self.read()
DispatchQueue.global(qos: .default).async {
self.read()
}
}
}

View File

@@ -27,7 +27,9 @@ class CPUUsageReader: Reader {
init(_ updater: @escaping (CPUUsage) -> Void) {
self.callback = updater
if self.available {
self.read()
DispatchQueue.global(qos: .default).async {
self.read()
}
}
}

View File

@@ -20,7 +20,9 @@ class DiskCapacityReader: Reader {
self.callback = updater
if self.available {
self.read()
DispatchQueue.global(qos: .default).async {
self.read()
}
}
}

View File

@@ -72,7 +72,9 @@ class NetworkInterfaceReader: Reader {
self.callback = updater
if self.available {
self.read()
DispatchQueue.global(qos: .default).async {
self.read()
}
}
if self.reachability != nil {

View File

@@ -31,7 +31,9 @@ class NetworkReader: Reader {
self.callback = updater
if self.available {
self.read()
DispatchQueue.global(qos: .default).async {
self.read()
}
}
}

View File

@@ -40,11 +40,11 @@ class RAM: Module {
readers.append(RAMUsageReader(self.usageUpdater))
readers.append(RAMProcessReader(self.processesUpdater))
self.initWidget()
self.initMenu()
self.initPopup()
self.task = Repeater.init(interval: .seconds(self.updateInterval), observer: { _ in
self.readers.forEach { reader in
reader.read()

View File

@@ -18,9 +18,11 @@ class RAMProcessReader: Reader {
init(_ updater: @escaping ([TopProcess]) -> Void) {
self.callback = updater
if self.available {
self.read()
DispatchQueue.global(qos: .default).async {
self.read()
}
}
}

View File

@@ -47,7 +47,9 @@ class RAMUsageReader: Reader {
}
if self.available {
self.read()
DispatchQueue.global(qos: .default).async {
self.read()
}
}
}