chiark / gitweb /
memoise edge_end2 now performance is good
[moebius2.git] / parallel.c
index d9782dfde6952fd4988540b03bbcf064e4b2bf62..f5841eeb21040f7394a833b25d66399cd8bd23e6 100644 (file)
@@ -54,7 +54,7 @@ void inparallel(const struct Vertices *vertices,
 
   int s, r;
 
-  if (!threads_started) {
+  if (NSECTIONS>1 && !threads_started) {
     r= pthread_barrier_init(&threads_barrier, 0, NSECTIONS);
     if (r) { errno=r; diee("pthread_barrier_init"); }
 
@@ -82,8 +82,10 @@ void inparallel(const struct Vertices *vertices,
 }
 
 void inparallel_barrier(void) {
-  int r;
-  r= pthread_barrier_wait(&threads_barrier);
-  if (r && r!=PTHREAD_BARRIER_SERIAL_THREAD)
-    { errno=r; diee("pthread_barrier_wait"); }
+  if (NSECTIONS>1) {
+    int r;
+    r= pthread_barrier_wait(&threads_barrier);
+    if (r && r!=PTHREAD_BARRIER_SERIAL_THREAD)
+      { errno=r; diee("pthread_barrier_wait"); }
+  }
 }