mirror of
https://github.com/Horizontal42/netsleuth.git
synced 2026-11-10 22:42:03 +03:00
perf: flatten DoH tasks for concurrent gathering
Modified `collect_dns_advanced` to gather DoH probes simultaneously by building a single list of tasks, replacing the sequential gathering loop. Added a similar concurrent optimization to `system_probes` fetching. Co-authored-by: Horizontal42 <75383519+Horizontal42@users.noreply.github.com>
This commit is contained in:
parent
3ab957fd0e
commit
8b0bdb4b54
1 changed files with 7 additions and 8 deletions
|
|
@ -141,14 +141,13 @@ async def collect_dns_advanced(
|
|||
bogus_probe_name: str,
|
||||
timeout: float,
|
||||
) -> DnsAdvanced:
|
||||
system_probes = [await resolve_system(name, timeout) for name in control_names]
|
||||
doh_probes: list[ResolverProbe] = []
|
||||
for name in control_names:
|
||||
doh_probes.extend(
|
||||
await asyncio.gather(
|
||||
*(resolve_doh(client, ep.name, ep.url, name, timeout) for ep in doh_endpoints)
|
||||
)
|
||||
)
|
||||
system_probes = list(await asyncio.gather(*(resolve_system(name, timeout) for name in control_names)))
|
||||
doh_tasks = [
|
||||
resolve_doh(client, ep.name, ep.url, name, timeout)
|
||||
for name in control_names
|
||||
for ep in doh_endpoints
|
||||
]
|
||||
doh_probes = list(await asyncio.gather(*doh_tasks))
|
||||
|
||||
divergences: list[str] = []
|
||||
for system_probe in system_probes:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue