From 816234b23800c295b6ddc794143c61830e62df98 Mon Sep 17 00:00:00 2001 From: Sergey Fedoseev Date: Thu, 6 Sep 2018 23:08:20 +0500 Subject: [PATCH 1/2] bpo-34599: Improve performance of _Py_bytes_capitalize(). --- Objects/bytes_methods.c | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/Objects/bytes_methods.c b/Objects/bytes_methods.c index 05679e31c9d68ce..1c8024d2c83561b 100644 --- a/Objects/bytes_methods.c +++ b/Objects/bytes_methods.c @@ -363,21 +363,9 @@ _Py_bytes_capitalize(char *result, const char *s, Py_ssize_t len) { Py_ssize_t i; - if (0 < len) { - int c = Py_CHARMASK(*s++); - if (Py_ISLOWER(c)) - *result = Py_TOUPPER(c); - else - *result = c; - result++; - } - for (i = 1; i < len; i++) { - int c = Py_CHARMASK(*s++); - if (Py_ISUPPER(c)) - *result = Py_TOLOWER(c); - else - *result = c; - result++; + if (len > 0) { + *result = Py_TOUPPER(*s); + _Py_bytes_lower(result + 1, s + 1, len - 1); } } From d4b996628903cfda90739c87b1d7ef474fd76e7e Mon Sep 17 00:00:00 2001 From: Sergey Fedoseev Date: Fri, 7 Sep 2018 09:39:32 +0500 Subject: [PATCH 2/2] Remove unused variable. --- Objects/bytes_methods.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/Objects/bytes_methods.c b/Objects/bytes_methods.c index 1c8024d2c83561b..37c5f7dbc8040be 100644 --- a/Objects/bytes_methods.c +++ b/Objects/bytes_methods.c @@ -361,8 +361,6 @@ and the rest lower-cased."); void _Py_bytes_capitalize(char *result, const char *s, Py_ssize_t len) { - Py_ssize_t i; - if (len > 0) { *result = Py_TOUPPER(*s); _Py_bytes_lower(result + 1, s + 1, len - 1);