From 247109e74dcdde19c491c966496655cb87834981 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 9 Apr 2013 23:53:26 +0200 Subject: Issue #17615: On Windows (VS2010), Performances of wmemcmp() to compare Unicode strings are not convincing. For UCS2 (16-bit wchar_t type), use a dummy loop instead of wmemcmp(). The dummy loop is as fast, or a little bit faster. wchar_t is only 16-bit long on Windows. wmemcmp() is still used for 32-bit wchar_t. --- Objects/unicodeobject.c | 9 --------- 1 file changed, 9 deletions(-) (limited to 'Objects/unicodeobject.c') diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 6b63157266..162221ceb2 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -10375,16 +10375,7 @@ unicode_compare(PyObject *str1, PyObject *str2) break; case PyUnicode_2BYTE_KIND: { -#if defined(HAVE_WMEMCMP) && SIZEOF_WCHAR_T == 2 - int cmp = wmemcmp((wchar_t *)data1, (wchar_t *)data2, len); - /* normalize result of wmemcmp() into the range [-1; 1] */ - if (cmp < 0) - return -1; - if (cmp > 0) - return 1; -#else COMPARE(Py_UCS2, Py_UCS2); -#endif break; } case PyUnicode_4BYTE_KIND: -- cgit v1.2.1