Thomas Wouters suggested an obvious improvement to unicode_eq():
use memcmp().
diff --git a/Objects/dictobject.c b/Objects/dictobject.c
index 8d8a882..957090f 100644
--- a/Objects/dictobject.c
+++ b/Objects/dictobject.c
@@ -340,7 +340,7 @@
 		return 0;
 	if (a->length == 1)
 		return 1;
-	return PyUnicode_Compare(aa, bb) == 0;
+	return memcmp(a->str, b->str, a->length * sizeof(Py_UNICODE)) == 0;
 }