
Hi Domagoj, good to hear back from you. Hope all is well. On Sun, Jan 16, 2011 at 8:58 AM, Domagoj Saric <dsaritz@gmail.com> wrote:
"Christian Henning" <chhenning@gmail.com> wrote in message news:AANLkTimTSE6YRJDKqG120cyn9hosC9QaQBTQf40JLdDF@mail.gmail.com...
Hi there, I did a little update to include more files. Now I have 26580 jpeg files distributed over 10 folders. I also tried to reduce the number of image memory allocation by reusing the same image over and over again.
But you still used boost::filesystem which is also not the most lightweight thing in the Universe (for example, simply adding its cpp files to my test project added ~150kB to the release binary...also between the "if ( fs::is_directory( dir_path ) )" line and the first read_image() call I counted 16 memory allocations and 6 memory allocations between each subsequent call to read_image()...)...
Maybe so, but I use filesystem in both tests. Meaning the overhead is prevalent in my IO and your IO. Also the code is platform independent. How do you count these memory allocations? I did some changes in io_new. No strings anymore, for example.
Your test description is also missing relevant information, such as the test machine's hardware and software configuration, third party library versions and compiler and linker options used to build them and the test project...
Sorry, my bad. I use a pretty powerful box with 2 Intel Xeon E5630 and 12GB of RAM. For compiling I used VS2010 on Windows 7. For boost I'm using some trunk version for the 1.46 release.
But, as argued to Lubomir, this 'obfuscation' or 'damping' of results (i.e. the comparison between different backend wrappers) with filesystem access is IMO moot...
There are several things that I still need to make better use of libjpg.
All jpegs are the same image but they are a different file. This way I'm sure I don't have to convert the image into a different color space. I did that since io2 doesn't support any_image, I believe.
I did add any_image support at the beginning but did not test it in a long time so I don't know whether it still works...but, why would you need any_image even if you did use different images with different formats...the backend/backend wrapper can do the conversion (e.g. your read_and_convert_image())...
I should get the latest from your project I suppose. Regards, Christian