[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Another approach to improve w3m-doenload
I prefer the third option: adding a new option to w3m command.
If --dump_extra outputs the progress information into the standard error
and output the content into the standard output, it will be possible to
eliminate using awk command from the second option, I think.
>> On Thu, 04 Apr 2019 15:26:17 +0900
>> yamaoka@xxxxxxx (Katsumi Yamaoka) said as follows:
>I worked on the two kinds of approaches to improve w3m-download.
>$B!&(BFully asynchronous operation
>$B!&(BAllow parallel downloads at a time
>$B!&(BProgress indicator(s) in the mode-line
>$B!&(BNot eat much Emacs' memory, only a header is cached
> is a version to use a timer that watches the size of a local
>file being downloaded for the progress indicator. This version
>runs w3m twice separately; runs with the -dump_head option to get
>the header of the remote contents to know the file size and the
>timestamp, and runs with the -dump_source option to download the
>contents directly to a local file. The latter starts the timer.
> is a version to divide the output of `w3m -dump_extra' to
>two streams using awk; one is for the progress indicator fed to
>an Emacs' process buffer and the other is for the contents of a
>remote file redirecting directly to a local file.
>The both codes are almost complete, however either ones have an
>unavoidable issue on the progress indicator.
>As for  the indicator starts to increase after w3m starts to
>write the remote contents to a local file. It is the time when
>w3m has buffered the contents fully in a local memory, not at
>w3m starts to download.
>Contrary,  starts the indicator to increase when w3m starts to
>download, and finishes when w3m has buffered the remote contents
>fully in a local memory, but time w3m takes thereafter to save
>the contents to a local file is not necessarily negligible. This
>is just the current version's behavior except for the slowness of
>saving though. This version is equipped with a trick that blinks
>the indicator for a while after the indicator's value gets still.
>The one suitable to a slow connection would be , and of which
>perfection is higher.
>Here are two patches according to those two ways respectively.
>Both are aimed to apply to the latest git master.