[Mono-bugs] [Bug 79000][Nor] Changed - Memleak & Performance issue with deserialization of mulit-dimensional arrays

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Fri Aug 11 09:04:33 EDT 2006


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by lluis at ximian.com.

http://bugzilla.ximian.com/show_bug.cgi?id=79000

--- shadow/79000	2006-08-09 05:51:00.000000000 -0400
+++ shadow/79000.tmp.1812	2006-08-11 09:04:33.000000000 -0400
@@ -10,13 +10,12 @@
 Component: CORLIB
 AssignedTo: mono-bugs at ximian.com                            
 ReportedBy: e0027500 at student.tuwien.ac.at               
 QAContact: mono-bugs at ximian.com
 TargetMilestone: ---
 URL: 
-Cc: 
 Summary: Memleak & Performance issue with deserialization of mulit-dimensional arrays
 
 Description of Problem:
 Performance issue with deserialization of mulit-dimensional arrays. With
 each subsequent call of a deserialization of an object with a
 multidimensional array (int[size, size]) each deserialization gets slower
@@ -67,6 +66,31 @@
 deserialized... but I dunno.
 
 ------- Additional Comments From e0027500 at student.tuwien.ac.at  2006-08-09 05:50 -------
 Created an attachment (id=17431)
 Graphs of: memory leaking and deserialization slowing down
 
+
+------- Additional Comments From lluis at ximian.com  2006-08-11 09:04 -------
+I reduced the test case to the following:
+
+	public class DeserializeTest
+	{
+		public static void Main(string[] args)
+		{
+			Type t = typeof(int[,]);
+			for (int k = 0; k < 10; k++) {
+				long start = Environment.TickCount;
+				for (int i = 0; i < 1000; i++) {
+					bool b = t.IsValueType;
+				}
+				Console.WriteLine("Exec. Time: " + (Environment.TickCount - start)
++ "ms   " + k);
+			}
+		}
+	}
+
+Looks like the problem is in the property Type.IsValueType when the
+type is a multi-dimensional array. It is leaking memory and every call
+is slower.
+
+


More information about the mono-bugs mailing list