Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Jun 2007 12:00:57 -0700
From:      Tim Kientzle <kientzle@freebsd.org>
To:        youshi10@u.washington.edu
Cc:        hackers@freebsd.org
Subject:   Re: Using shell commands versus C equivalents
Message-ID:  <46703EE9.1030804@freebsd.org>
In-Reply-To: <Pine.LNX.4.43.0706131018120.25469@hymn01.u.washington.edu>
References:  <Pine.LNX.4.43.0706131018120.25469@hymn01.u.washington.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
>>> Next step, eliminating the linked list structure in favor or red-black
>>> trees, maybe.
>>
>> Due to the way pkg_install works, this most likely is just adding
>> complexity for no gain, it might actually slow it down.
> 
> Hmmm... the only thing is that it does the linked list traversal a 
> number of times per dependency. I'll take a look in gdb at the size of 
> each dependency and then confer with Kirill (my mentor) about that a bit 
> more.

If you tend to look for the same few items over and over,
just move items to the front of the list as soon as you
find them.  Alternatively, if you know you won't look for
this item ever again, move it to the end of the list or
remove it from the list entirely.

Simple tricks like this can greatly speed things up with
almost no effort.  Better yet, do easy things like this first;
if they help, then look at more complex approaches.

As Joerg said, though, you're not likely to gain much from
this.  pkg_install is almost entirely disk bound.

I spent a lot of time recently in libarchive/bsdtar optimizing
the disk handling; I can share lots of ideas for improving
performance of disk-bound operations like this.

Tim Kientzle



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46703EE9.1030804>