[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