Asynchronous, non-blocking I/O
Network reads and disk writes use async APIs, so ZDM never waits on a slow disk or a slow connection. Full speed, zero stalling.
Engineered for speed
ZDM was rebuilt from the ground up around asynchronous I/O and adaptive scheduling - the same ideas that power the tools you already love, without the bloat.
Network reads and disk writes use async APIs, so ZDM never waits on a slow disk or a slow connection. Full speed, zero stalling.
The file is pre-sized and each block is written at its final offset. No temporary part files, no merge step at the end. Files under 4 MB still use the part-file path.
Finished blocks wait in an in-memory queue and are written in ascending file order, two writes at a time.
Small files use 2 to 4 MB blocks, rising to 16 MB (from 1 GiB), 32 MB (from 16 GiB) and 64 MB (from 128 GiB). A 500 GB file needs about 8,000 requests, not about 125,000.
2 MB → 64 MBA memory budget (default 256 MB) caps block size while connections max out throughput.
Fast connections get bigger blocks, slow ones are dropped and replaced, and faster mirrors get more blocks. Idle fast connections duplicate the last stragglers.
Buffer.allocUnsafe() with guarantees: a block is written to disk only after every byte has been overwritten by received data. Partial blocks are never written, and buffers are recycled.
Network and disk work run off the main thread, so the window stays responsive. Hashing has its own worker, with a fallback if it can't start.
Connections are kept alive, TCP_NODELAY is set, and HTTP/2 flow-control windows are enlarged to 8 MB per stream and 64 MB per session for full-speed multiplexing.
8 MB / 64 MB windowsBrowser takeover, a redrawn icon set, a new tabbed Options window, an About window, installer and workflow fixes, and many more features that IDM has.