perf: don't use string concat when calculing SeenEven hash

Profiler was complaining about this one
This commit is contained in:
William Casarin
2023-06-20 16:07:40 +02:00
parent d205be3e0a
commit b7b7d65612

View File

@@ -18,11 +18,16 @@ struct QueuedRequest {
let relay: String
}
struct SeenEvent: Hashable {
let relay_id: String
let evid: String
}
class RelayPool {
var relays: [Relay] = []
var handlers: [RelayHandler] = []
var request_queue: [QueuedRequest] = []
var seen: Set<String> = Set()
var seen: Set<SeenEvent> = Set()
var counts: [String: UInt64] = [:]
private let network_monitor = NWPathMonitor()
@@ -233,7 +238,7 @@ class RelayPool {
func record_seen(relay_id: String, event: NostrConnectionEvent) {
if case .nostr_event(let ev) = event {
if case .event(_, let nev) = ev {
let k = relay_id + nev.id
let k = SeenEvent(relay_id: relay_id, evid: nev.id)
if !seen.contains(k) {
seen.insert(k)
if counts[relay_id] == nil {