[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-hackers] [PATCH] Improve performance of read-u8vector
From: |
Alaric Snell-Pym |
Subject: |
Re: [Chicken-hackers] [PATCH] Improve performance of read-u8vector |
Date: |
Sat, 18 Jul 2015 23:19:21 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20140704 Thunderbird/17.0.11 |
On 13/07/15 11:48, Alaric Snell-Pym wrote:
> On 13/07/15 11:38, Evan Hanson wrote:
>> Less code, more tests. Great patch. :)
>>
>> I've pushed this to all three branches. I also took this opportunity to
>> fix Alaric's name in the acknowledgements.
>
> Good work, that man! Like I did with write-u8vector, I'll give it a run
> through some Ugarit torture tests at the weekend and report back :-D
Ok, I did a test where I snapshot about 197MiB of audiobooks (86 files)
With chicken from git 702f3f259 (just before the patch):
Snapshotting /home/alaric/archive/audiobooks to tag test...
Root hash: d0be496389dac1daad9eca8257188b7d542ab52f8e5b4d0c
Successfully snapshotted /home/alaric/archive/audiobooks to tag test
Snapshot hash: 6cca2c3b3bd651f381085b04cdd76524e871b2cc13051fbe
Written 197MiB to the vault in 270 blocks, and reused 0B in 0 blocks
(before compression)
real 0m12.180s
user 0m5.137s
sys 0m1.816s
With chicken from git 474cb9fa5 (with the patch):
Snapshotting /home/alaric/archive/audiobooks to tag test...
Root hash: d0be496389dac1daad9eca8257188b7d542ab52f8e5b4d0c
Successfully snapshotted /home/alaric/archive/audiobooks to tag test
Snapshot hash: 022ffa3ab8dbd2350b1a4607f9630ed4a1e4b638818f3078
Written 197MiB to the vault in 270 blocks, and reused 0B in 0 blocks
(before compression)
real 0m13.638s
user 0m5.578s
sys 0m1.713s
...about the same time on this test, but most importantly, the "Root
hash" is the same in both - so we read the same data in both cases!
Let's time extracting that data out again. Still with the patch:
Extracted contents into .
real 0m4.270s
user 0m3.199s
sys 0m1.348s
Then taking the patch back out:
Extracted contents into .
real 0m4.376s
user 0m3.255s
sys 0m1.426s
...again, about the same time. I checked checksums and the extracted
files are the same (and the same as the original import).
So: it seems to work in an I/O torture test, but for Ugarit, doesn't
make much difference ;-) I suspect my inefficient copying of blocks
around is currently the limiting factor, not Chicken's I/O! Which is
good news for Chicken :-)
Thanks,
ABS
--
Alaric Snell-Pym
http://www.snell-pym.org.uk/alaric/
signature.asc
Description: OpenPGP digital signature