Hi,

I wrote this console utility app in 5 minutes. All it is supposed to do,
is iterate over *.jpg images (65 at the moment) in a folder (no
recursive searches), and generate a snipped of HTML that I need to paste
into my wives website.

I first thought my utility app is in some recursive loop or something
because the output didn't appear instantly - like I thought it would.

I added some debug output between the generate HTML. To my surprise the
FPImage code reading a 35Kb jpg file takes +- 8 seconds and a 65KB file
takes +- 30 seconds - on a Quad Core machine! WTF???

Is this normal? Is FPImage really that slow reading small roughly
650x450 pixel jpg images?  Or am I doing something unbelievably stupid? :-/

The reason I'm reading in the jpg files is so I can get their Width and
Height values. Avg. jpeg file sizes are between 35-45KB, and largest
file size is 65KB.

Here is the relevant code snippet....

var
  imgreader: TFPReaderJPEG;
  stream: TFileStream;
  img:TFPCustomImage;

....

  writeln('processing file: ', filelist[i]);
  stream := TFileStream.Create(filelist[i], fmOpenRead);
  writeln(1);
  imgreader := TFPReaderJPEG.Create;
  writeln(2, FormatDateTime(' hh:mm:ss.zz', Now) + '  (start reading)');
  img := imgreader.ImageRead(stream, nil);
  writeln(3, FormatDateTime(' hh:mm:ss.zz', Now) + '  (done)');




Here is the program output... Note the timestamps between start reading
and done reading (lines marked with '2' and '3').


-------------------[ start ]---------------------------
$ ./project1 img/babies/full
Finished search. Found 65 matches
---------------------------------------
<div id="thumbnails">
<table cellspacing="10">
<tr align="center" valign="middel">     <!--  Row starts  -->
<td>
processing file: img/babies/full/babies.01.jpg
1
2 16:00:30.210  (start reading)
3 16:00:38.338  (done)
<img src="img/babies/full/babies.01.jpg" alt="" id="screen1"
class="imglarge" onmouseout="reducethumb(1); return false;"
onclick="reducethumb(1); return false;">
<img src="img/babies/thumbs/babies.01.jpg" alt="" class="imgsmall"
id="thumb1" onclick="expandthumb(1, 650, 413);">
</td>
</tr>
<tr align="center" valign="middel">     <!--  Row starts  -->
<td>
processing file: img/babies/full/babies.02.jpg
1
2 16:00:38.338  (start reading)
3 16:01:10.447  (done)
<img src="img/babies/full/babies.02.jpg" alt="" id="screen2"
class="imglarge" onmouseout="reducethumb(2); return false;"
onclick="reducethumb(2); return false;">
<img src="img/babies/thumbs/babies.02.jpg" alt="" class="imgsmall"
id="thumb2" onclick="expandthumb(2, 650, 435);">
</td>
</tr>
<tr align="center" valign="middel">     <!--  Row starts  -->
<td>
processing file: img/babies/full/babies.03.jpg
1
2 16:01:10.447  (start reading)
3 16:01:28.859  (done)
<img src="img/babies/full/babies.03.jpg" alt="" id="screen3"
class="imglarge" onmouseout="reducethumb(3); return false;"
onclick="reducethumb(3); return false;">
<img src="img/babies/thumbs/babies.03.jpg" alt="" class="imgsmall"
id="thumb3" onclick="expandthumb(3, 405, 650);">
</td>
</tr>
<tr align="center" valign="middel">     <!--  Row starts  -->
<td>
processing file: img/babies/full/babies.04.jpg
1
2 16:01:28.859  (start reading)

....snip....
-------------------[ end ]---------------------------



-- 

            Ben.

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to