Mark Triggs <[EMAIL PROTECTED]> writes:
> Seeing that Matthieu had converted the missing command over to using
> tla--run-tla-async (thanks!) I couldn't resist modifying it a little
> further to make it fully asynchronous.
Ah, was part of my plans, but you've been faster ;-) Thank you.
> For the adventurous, there's a patch in my archive that does this. Now
> the "tla missing" commands get run in parallel, and it displays the
> information as it is received. This seems quite a bit faster to me, as
> slow connections to particular archives don't bottleneck the whole
> process.
More than this, the current tla implementation isn't able to take full
advantage of your bandwith when it has to retrieve multiple files.
It's latency bounded more than bandwith-bounded :
Client Server
GET file 1
`---------.
------- Read file1
Send file1
-------'
.-----'-------'
.-----'
Recieve file 1
GET file 2
`---------.
------- Read file2
Send file2
-------'
.-----'-------'
.-----'
Recieve file 2
So, parallelizing the process is a really good solution !
One point : I've seen you've added a "backward compatibility" piece of
code in tla--run-tla-... functions. It's not necessary with the
tla--kill-process-buffer feature. The process buffers are pushed in a
queue, and will be deleted when the queue will be full.
--
Matthieu