]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Prefer 32-bit implementation for timing wheels on 32-bit systems.
authorNick Mathewson <nickm@torproject.org>
Mon, 9 Apr 2018 19:21:10 +0000 (15:21 -0400)
committerNick Mathewson <nickm@torproject.org>
Mon, 9 Apr 2018 19:21:10 +0000 (15:21 -0400)
This might make our timing-wheel code a tiny bit faster there.

Closes ticket 24688.

changes/bug24688 [new file with mode: 0644]
src/common/timers.c

diff --git a/changes/bug24688 b/changes/bug24688
new file mode 100644 (file)
index 0000000..c376fe6
--- /dev/null
@@ -0,0 +1,3 @@
+  o Minor features (performance, 32-bit):
+    - Make our timing-wheel code run a tiny bit faster on 32-bit platforms,
+      by preferring 32-bit math to 64-bit. Closes ticket 24688.
index a90817da1c65849aa79d1644bf549c7db76700b2..6f6236ed3bfaa4cf77f99634eadb765bd7dddf0d 100644 (file)
@@ -64,6 +64,11 @@ struct timeout_cb {
  * above TIMEOUT_MAX can also be super-inefficient. Choosing 5 here sets
  * timeout_max to 2^30 ticks, or 29 hours with our value for USEC_PER_TICK */
 #define WHEEL_NUM 5
+#if SIZEOF_VOID_P == 4
+/* On 32-bit platforms, we want to override wheel_bit, so that timeout.c will
+ * use 32-bit math. */
+#define WHEEL_BIT 5
+#endif
 #include "src/ext/timeouts/timeout.c"
 
 static struct timeouts *global_timeouts = NULL;