GraphicsMagick: MogrifyImages(): Fix performance anomaly noticed...

GraphicsMagick Commits <[email protected]>
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.30042.1670787824.1459.graphicsmagick-commit@lists.sourceforge.net>
changeset cc03cdbaaa45 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=cc03cdbaaa45
summary: MogrifyImages(): Fix performance anomaly noticed with large image list.

diffstat:

 ChangeLog                              |   8 ++++++++
 VisualMagick/installer/inc/version.isx |   4 ++--
 coders/tiff.c                          |  10 ++++++----
 magick/command.c                       |   4 +++-
 magick/list.c                          |   1 +
 magick/version.h                       |   4 ++--
 www/Changelog.html                     |   9 +++++++++
 7 files changed, 31 insertions(+), 9 deletions(-)

diffs (111 lines):

diff -r f6d9d7d268c6 -r cc03cdbaaa45 ChangeLog
--- a/ChangeLog	Sat Dec 10 16:10:03 2022 -0600
+++ b/ChangeLog	Sun Dec 11 13:43:32 2022 -0600
@@ -1,3 +1,11 @@
+2022-12-11  Bob Friesenhahn  <[email protected]>
+
+	* magick/command.c (MogrifyImages): Fix performance anomaly
+	noticed with large image list.
+
+	* coders/tiff.c (ReadTIFFImage): Move monitor for list to a better
+	spot so that rows and columns are valid.
+
 2022-12-10  Bob Friesenhahn  <[email protected]>
 
 	* coders/png.c (png_error): Use a macro to report exceptions
diff -r f6d9d7d268c6 -r cc03cdbaaa45 VisualMagick/installer/inc/version.isx
--- a/VisualMagick/installer/inc/version.isx	Sat Dec 10 16:10:03 2022 -0600
+++ b/VisualMagick/installer/inc/version.isx	Sun Dec 11 13:43:32 2022 -0600
@@ -10,5 +10,5 @@
 
 #define public MagickPackageName "GraphicsMagick"
 #define public MagickPackageVersion "1.4"
-#define public MagickPackageVersionAddendum ".020221210"
-#define public MagickPackageReleaseDate "snapshot-20221210"
+#define public MagickPackageVersionAddendum ".020221211"
+#define public MagickPackageReleaseDate "snapshot-20221211"
diff -r f6d9d7d268c6 -r cc03cdbaaa45 coders/tiff.c
--- a/coders/tiff.c	Sat Dec 10 16:10:03 2022 -0600
+++ b/coders/tiff.c	Sun Dec 11 13:43:32 2022 -0600
@@ -2207,6 +2207,12 @@
       image->rows=height;
       image->depth=bits_per_sample;
 
+      if (image->scene != 0)
+        status=MagickMonitorFormatted(image->scene-1,image->scene,
+                                      &image->exception,
+                                      LoadImageText,image->filename,
+                                      image->columns,image->rows);
+
       /*
         Obtain information about any extra samples.
       */
@@ -3670,10 +3676,6 @@
                   return((Image *) NULL);
                 }
               image=SyncNextImageInList(image);
-              status=MagickMonitorFormatted(image->scene-1,image->scene,
-                                            &image->exception,
-                                            LoadImageText,image->filename,
-                                            image->columns,image->rows);
             }
         }
 
diff -r f6d9d7d268c6 -r cc03cdbaaa45 magick/command.c
--- a/magick/command.c	Sat Dec 10 16:10:03 2022 -0600
+++ b/magick/command.c	Sun Dec 11 13:43:32 2022 -0600
@@ -11582,7 +11582,9 @@
           }
       }
       AppendImageToList(&mogrify_images,image);
-    }
+      mogrify_images=image;
+    }
+  mogrify_images=GetFirstImageInList(mogrify_images);
 
   /*
     Apply options to the entire image list.
diff -r f6d9d7d268c6 -r cc03cdbaaa45 magick/list.c
--- a/magick/list.c	Sat Dec 10 16:10:03 2022 -0600
+++ b/magick/list.c	Sun Dec 11 13:43:32 2022 -0600
@@ -83,6 +83,7 @@
   for (p=(*images); p->next != (Image *) NULL; p=p->next);
   p->next=image;
   image->previous=p;
+  /* *images=image; */ /* FIXME: Optimization for later */
 }
 
 /*
diff -r f6d9d7d268c6 -r cc03cdbaaa45 magick/version.h
--- a/magick/version.h	Sat Dec 10 16:10:03 2022 -0600
+++ b/magick/version.h	Sun Dec 11 13:43:32 2022 -0600
@@ -38,8 +38,8 @@
 #define MagickLibVersion  0x272400
 #define MagickLibVersionText  "1.4"
 #define MagickLibVersionNumber 27,24,0
-#define MagickChangeDate   "20221210"
-#define MagickReleaseDate  "snapshot-20221210"
+#define MagickChangeDate   "20221211"
+#define MagickReleaseDate  "snapshot-20221211"
 
 /*
   The MagickLibInterfaceNewest and MagickLibInterfaceOldest defines
diff -r f6d9d7d268c6 -r cc03cdbaaa45 www/Changelog.html
--- a/www/Changelog.html	Sat Dec 10 16:10:03 2022 -0600
+++ b/www/Changelog.html	Sun Dec 11 13:43:32 2022 -0600
@@ -37,6 +37,15 @@
 </div>
 
 <div class="document">
+<p>2022-12-11  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
+<blockquote>
+<ul class="simple">
+<li><p>magick/command.c (MogrifyImages): Fix performance anomaly
+noticed with large image list.</p></li>
+<li><p>coders/tiff.c (ReadTIFFImage): Move monitor for list to a better
+spot so that rows and columns are valid.</p></li>
+</ul>
+</blockquote>
 <p>2022-12-10  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
 <blockquote>
 <ul class="simple">
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.