[Mono-bugs] [Bug 78957][Wis] Changed - Performance Loss
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Wed Aug 2 17:24:04 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 david_garcia at logitech.com.
http://bugzilla.ximian.com/show_bug.cgi?id=78957
--- shadow/78957 2006-08-02 15:02:16.000000000 -0400
+++ shadow/78957.tmp.1094 2006-08-02 17:24:04.000000000 -0400
@@ -44,6 +44,52 @@
Additional Information:
------- Additional Comments From vargaz at gmail.com 2006-08-02 15:02 -------
The mono GC is slower than the MS one, but not by that margin. So please
attach some kind of test case.
+
+------- Additional Comments From david_garcia at logitech.com 2006-08-02 17:24 -------
+Load a log file apx 6 megs. [6722 rows by 162 columns]
+
+Parse it using the rules for CSV. [uncluding how to handle comma and
+quotes]
+
+
+Use first row of CSV as column heading.
+
+Use remaining data as rows.
+
+Store data of each row in a DataSet. (very slow)
+
+I had to rework the design of the application to mimize use of MMS,
+which increased the speed of the app by 12 times. But the memory
+management system of mono is at least two times as slow on windows.
+
+Additionally when i run a parse a file genereated by the appended
+code, mono will raise a fatal error dialog stating "Fatal Error in
+GC" {"To many heap sections"}. .NET parses the file on my system in 8
+seconds after the internal heap structures are optimized. This crash
+results in a memory leak.
+
+You may be able to replicate it by first allocating 138 MB then
+allocation 80000*200 strings each of length 10. If you test this you
+may need a 512 MB to 1 GB of ram.
+
+ int c = 0;
+ for (c = 0; c < 200; c++)
+ {
+ s.Write("COL{0},", c);
+ }
+ s.Write("COL{0}\r\n", c);
+
+ for (int r = 0; r < 80000; r++)
+ {
+ for (c = 0; c < 200; c++)
+ {
+ s.Write("Value{0},", c);
+ }
+ s.Write("Value{0}\r\n", c);
+
+ }
+
+
More information about the mono-bugs
mailing list