I find the current cpu usage a bit high even though smsd only is idling (not moving any messages)- especially on lower spec'ed computers.
After a bit investigation i found that usleep_until() in extras.c only usleeps in intervals of 100 microseconds - which might be a bit too low and sorta creates a pseudo busy loop wait.
This small patch lowered CPU consumption quite a bit:
diff -u extras.c.old extras.c
--- extras.c.old 2014-02-11 15:18:58.526777555 +0100
+++ extras.c 2014-02-11 15:19:46.845312164 +0100
@@ -1445,7 +1445,7 @@
return 1;
if (now < target_time)
- usleep(100);
+ usleep(1000);
}
while (now < target_time);
« Last edit by hoerup on Tue Feb 11, 2014 14:27, 131 months ago. »