[KimDaBa] Profiling Kimdaba startup
Jody Harris
havoc at harrisdev.com
Wed Jan 5 15:40:39 GMT 2005
Robert L Krawitz wrote:
<snip>
> To demonstrate this, I did the following test (it's necessary to use
> two cat processes in a pipeline, because the way cat works, using
> memory mapped I/O, if the destination is /dev/null it does almost no
> work). Note that the second time (when the file was in memory) the
> amount of time spent was completely negligible.
<snip>
Okay, thanks for clearing that up for me. I knew it wasn't that simple.
I just wasn't adding things up. May I claim the, "It was late," excuse?
There are still some advantages to storing compressed data...
which brings me to a question I've never asked (which may or may not
relate to speed):
In index.xml, I have a list of "Keywords" in values (the same for
Locations, Persons, and any top-level categories I create). When I get
down to the image data, every "value" is repeated in full text.
I would have approached it differently. I would have created an index,
and assigned values to those indexes. Then, rather than repeating the
verbose value in the image record, I would just have given a list of
indexes.
Yours:
<option viewtype="0" viewsize="0" icon="password" name="Keywords"
show="1" >
<value value="Christmas" />
<value value="music" />
<value value="Church" />
<value value="Barn" />
<value value="rainbow" />
...
Mine:
<option viewtype="0" viewsize="0" icon="password" name="Keywords"
show="1" >
<value index=1 value="Christmas" />
<value index=2 value="music" />
<value index=3 value="Church" />
<value index=4 value="Barn" />
<value index=5 value="rainbow" />
...
In memory, I would have created a hash for each category, then used that
hash to populate any output functions. (Warning: I think in Perl.)
Building the hash reference by hand would have looked like this:
$keywordref = {
1 => "Christmas",
2 => "music",
3 => "Church",
4 => "rainbow",
...
}
Output would look something like:
print "Persons: "
foreach (@image_persons)
{
print "$keywordref->{$_}, ";
}
where @image_persons is a per-image array of keyword indexes. (Add all
the wrap for sorting, presentation, etc.)
It seems to me, and again, I could be completely off track, that parsing:
<option name="Keywords" >
<value value="1, 2, 3, 4" >
</option>
would be quicker.
I'm sure there's a reason you did it the way you did it. Could you
illuminate?
Thanks,
jody
--
http://www.RealizationSystems.com/ -- start communicating
http://www.GalacticSlacker.com/ -- read it and weep
http://www.NMPerspective.com/ -- a Southwest Perspective
More information about the Kphotoalbum
mailing list