Origin issue: ‣
First analysis: https://github.com/nodejs/undici/issues/1203#issuecomment-1100969210
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 46 bits physical, 48 bits virtual
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 2
Core(s) per socket: 1
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 106
Model name: Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
Stepping: 6
CPU MHz: 2793.437
BogoMIPS: 5586.87
Virtualization: VT-x
Hypervisor vendor: Microsoft
Virtualization type: full
L1d cache: 48 KiB
L1i cache: 32 KiB
L2 cache: 1.3 MiB
L3 cache: 48 MiB
TL;DR: No performance improvement.
Working Branch: fetch-analysis
As an abstract, all the points raised in the first analysis are still valid (WebStreams, AbortController, TCP Retransmission).
Apart from WebStreams, it seems the next issue of fetch is memory usage. Garbage Collection uses a considerable amount of time.
Undici.Fetch - Profiling
Undici.Request - Profiling
undici.fetch
creates way more Promises for a simple request than undici.request
fetch