[Mono-bugs] [Bug 75239][Nor] Changed - Processes creating threads
have long pauses.
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Sun Aug 28 11:23:22 EDT 2005
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 jan.oravec at 6com.sk.
http://bugzilla.ximian.com/show_bug.cgi?id=75239
--- shadow/75239 2005-08-28 10:38:29.000000000 -0400
+++ shadow/75239.tmp.20927 2005-08-28 11:23:22.000000000 -0400
@@ -1674,6 +1674,42 @@
[pid 21931] semop(0, 0xb78f73ea, 1 <unfinished ...>
[pid 21931] <... semop resumed> ) = 0
I think that this is major fault, because with ~100 short-term threads
running system starts to be very inresponsive.
+
+------- Additional Comments From jan.oravec at 6com.sk 2005-08-28 11:23 -------
+I've just compiled Mono from SVN. It appears that the many-semop()-bug
+is already fixed, sorry for reporting.
+
+I have done a thread create/destroy performance comparison between C#
+and C. The following code (and its equivalent in C) was used:
+
+public class M
+{
+ public static void Main()
+ {
+ Thread[] x=new Thread[10000];
+ ThreadStart ts = new ThreadStart(thr);
+
+ for(int i=0; i<100; ++i)
+ {
+ for(int j=0; j<10000; ++j)
+ (x[j]=new Thread(ts)).Start();
+
+ for(int j=0; j<10000; ++j)
+ x[j].Join();
+ }
+ }
+
+ private static void thr()
+ {
+ }
+}
+
+The result (in seconds):
+
+ C# C
+system time: 90 26
+user time: 302 6
+
More information about the mono-bugs
mailing list