lkml.org 
[lkml]   [1996]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Patch: cut 'make dep' time in half


> One question about a couple of lines in the patch:
>
> > +set -e
> > +dir_top=`pwd`
> > +dir_list=`find $* -name '*.[chS]' -print | sed -e 's/^\(.*\)\/[^\/].*$/\1/p' | sort -u`
> > +for dir in $dir_list ; do
> > + cd $dir
> > + $dir_top/scripts/mkdep *.[chS] > .depend
> > + cd $dir_top
> > +done
>
> Couldn't the last two lines be switched for a small speed improvement?
>
> -Tom Kludy

the $dir_list creation would have to generate absolute pathnames...

or, perhaps this could work:
[patch-hack]:
for dir in $dir_list ; do
- cd $dir
+ cd $dir_top/$dir
$dir_top/scripts/mkdep *.[chS] > .depend
- cd $dir_top
done
[end-patch]

How much speed improvement? Well, the difference between executing one
shell internal command and two shell internal commands; either way, it
needs to get back to the source root directory, then delve into the tree.

Do pushd and popd work with inodes or paths? If they worked with inodes,
we could shave another hair's breadth off by doing this:
cd $dir_top
for dir in $dir_list ; do
pushd
cd $dir
$dir_top/scripts/mkdep *.[chS] > .depend
popd
done

Are we splitting hairs here? (Given the scale of CPU electronics, I guess
split hairs are still pretty big... ;-)

Adam
--
He feeds on ashes; a deluded mind has led him Adam Bradley, UNCA Senior
astray, and he cannot deliver himself or say, Computer Science
"Is there not a lie in my right hand?" Isaiah 44:20
bradley@cs.unca.edu http://www.cs.unca.edu/~bradley <><


\
 
 \ /
  Last update: 2005-03-22 13:38    [W:0.047 / U:0.168 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site