Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Apr 2004 11:10:06 -0700
From:      Tim Kientzle <tim@kientzle.com>
To:        Tim Kientzle <tim@kientzle.com>
Cc:        current@freebsd.org
Subject:   Re: cvs commit: src/usr.bin/tar Makefile bsdtar.1 bsdtar.c bsdtar.h bsdtar_platform.h matching.c read.c util.c write.c
Message-ID:  <407C2CFE.1010009@kientzle.com>
In-Reply-To: <407C2924.2050503@kientzle.com>
References:  <200404090121.i391LRlr096539@green.homeunix.org> <407C2924.2050503@kientzle.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Tim Kientzle wrote:
> Brian F. Feldman wrote:
> 
>> ... it should be possible to get more speed out of bsdtar ...
> 
> Libarchive ... always writes fixed-size blocks, but you
> can at least set the block size ...

Since the library calls a client-provided write routine
for each block, you should also be able to set up
async writes and get some I/O overlap that way.
(In particular, this might speed up operations
like  tar -cf - foo | tar -xf - -C /mnt
to copy dir heirarchies across drives.)

Of course, libarchive reuses it's block buffer,
so you would have to copy the data out before
starting the I/O and returning.  Hmmmm....
There's no reason libarchive couldn't use
a round-robin list of block buffers
internally if that would help.

Tim



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?407C2CFE.1010009>