py3: make py3 compat.iterbytestr simpler and faster
With Python 3.4.3, timit says 11.9 usec-> 6.44 usec. With Python
3.6.0, timeit says 14.1 usec -> 9.55 usec.
--- a/mercurial/pycompat.py Wed Mar 15 09:30:50 2017 -0700
+++ b/mercurial/pycompat.py Wed Mar 15 09:32:18 2017 -0700
@@ -78,7 +78,7 @@
def iterbytestr(s):
"""Iterate bytes as if it were a str object of Python 2"""
- return iter(s[i:i + 1] for i in range(len(s)))
+ return map(bytechr, s)
def sysstr(s):
"""Return a keyword str to be passed to Python functions such as