From: Victor Stinner <vstinner@wyplay.com>
Date: Wed, 22 Feb 2012 12:37:04 +0000 (+0100)
Subject: Micro-optimize unicode_expandtabs(): use FILL() macro to write N spaces
X-Git-Tag: v3.3.0a1~93
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=da79e632c45ad1a403317c08d9fb309130cb3e7e;p=python

Micro-optimize unicode_expandtabs(): use FILL() macro to write N spaces
---

diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index afe7a9fa68..c871420914 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -9975,7 +9975,6 @@ pad(PyObject *self,
     assert(_PyUnicode_CheckConsistency(u, 1));
     return u;
 }
-#undef FILL
 
 PyObject *
 PyUnicode_Splitlines(PyObject *string, int keepends)
@@ -11141,10 +11140,8 @@ unicode_expandtabs(PyObject *self, PyObject *args)
             if (tabsize > 0) {
                 incr = tabsize - (line_pos % tabsize);
                 line_pos += incr;
-                while (incr--) {
-                    PyUnicode_WRITE(kind, dest_data, j, ' ');
-                    j++;
-                }
+                FILL(kind, dest_data, ' ', j, incr);
+                j += incr;
             }
         }
         else {