Most of my downloading I do on my relativly slow laptop (Dell Inspiron 6000, which has a 1.7 Ghz CPU and 1 Gb memory).
Meanwhile I have a fast connection - I download roughly 2 megabyte per second, I download a DVD4 in about 40 minutes or less.
Now I noticed, Alt.Binz slows down alot when decrypting, par-checking and unraring.
I suspect this slowdown is due to increased I/O, something my little laptop can't handle very well.
I did some expiriments, and noticed a few things (also based on my experience as a lead-developer for a database-like client-server business application, also written in Delphi btw - but I digress) :
- Handling one single I/O-heavy task (like unrar) is better done in another process (read: application), than in-process. This is because a new process has it's own full space of virtual-memory. (And it also prevents fragmentation in the calling application.)
- QuickPar seems faster in repairing damages file-sets, than the build-in repair-engine in Alt.Binz (might have something to do with my previous point)
So, in this scenario, Alt.Binz could measure I/O throughput. Based on these measurements (or first maybe just using a option/switch) it could decide to pause downloading temporarily, while doing local I/O - This way improving global throughput.
My hope is this will speedup the downloads even more!
What do you think?