[issue28307] Accelerate 'string' % (value, ...) by using formatted string literals

2021-09-22 Thread STINNER Victor
STINNER Victor added the comment: commit a0bd9e9c11f5f52c7ddd19144c8230da016b53c6 Author: Serhiy Storchaka Date: Sat May 8 22:33:10 2021 +0300 bpo-28307: Convert simple C-style formatting with literal format into f-string. (GH-5012) C-style formatting with literal format conta

[issue28307] Accelerate 'string' % (value, ...) by using formatted string literals

2021-05-23 Thread Serhiy Storchaka
Change by Serhiy Storchaka : -- pull_requests: +24913 pull_request: https://github.com/python/cpython/pull/26318 ___ Python tracker ___

[issue28307] Accelerate 'string' % (value, ...) by using formatted string literals

2021-05-19 Thread Brandt Bucher
Change by Brandt Bucher : -- nosy: +brandtbucher ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail

[issue28307] Accelerate 'string' % (value, ...) by using formatted string literals

2021-05-16 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: PR 26160 adds support of %d, %i, %u, %o, %x, %X, %f, %e, %g, %F, %E, %G. What is not supported: * Formatting with a single value not wrapped into a 1-tuple (like in "%d bytes" % size). The behavior is non-trivial, it needs checking whether the value is a

[issue28307] Accelerate 'string' % (value, ...) by using formatted string literals

2021-05-16 Thread Serhiy Storchaka
Change by Serhiy Storchaka : -- nosy: +Mark.Shannon versions: +Python 3.11 -Python 3.7 ___ Python tracker ___ ___ Python-bugs-list m

[issue28307] Accelerate 'string' % (value, ...) by using formatted string literals

2021-05-16 Thread Serhiy Storchaka
Change by Serhiy Storchaka : -- pull_requests: +24794 pull_request: https://github.com/python/cpython/pull/26160 ___ Python tracker ___

[issue28307] Accelerate 'string' % (value, ...) by using formatted string literals

2018-09-07 Thread Tal Einat
Tal Einat added the comment: I'm +1 on this optimization. -- nosy: +taleinat ___ Python tracker ___ ___ Python-bugs-list mailing li

[issue28307] Accelerate 'string' % (value, ...) by using formatted string literals

2017-12-25 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: PR 5012 implements transformation simple format strings containing only %s, %r and %a into f-strings. -- ___ Python tracker ___ ___

[issue28307] Accelerate 'string' % (value, ...) by using formatted string literals

2017-12-25 Thread Serhiy Storchaka
Change by Serhiy Storchaka : -- keywords: +patch pull_requests: +4901 stage: -> patch review ___ Python tracker ___ ___ Python-bugs-

[issue28307] Accelerate 'string' % (value, ...) by using formatted string literals

2017-12-25 Thread Serhiy Storchaka
Change by Serhiy Storchaka : -- assignee: -> serhiy.storchaka ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue28307] Accelerate 'string' % (value, ...) by using formatted string literals

2016-09-29 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: Thanks for the correction Antti. Yes, this is what I initially meant. This optimization is applicable only if the left argument of % is a literal string and the right argument is a tuple expression. Saying about `'%s' % x` I meant a component of the tuple.

[issue28307] Accelerate 'string' % (value, ...) by using formatted string literals

2016-09-29 Thread Antti Haapala
Antti Haapala added the comment: Serhiy, you actually did make a mistake above; `'%s' % x` cannot be rewritten as `f'{x!s}'`, only `'%s' % (x,)` can be optimized... (just try with `x = 1, 2`) -- nosy: +ztane ___ Python tracker

[issue28307] Accelerate 'string' % (value, ...) by using formatted string literals

2016-09-29 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: '%s' % x should be translated to f'{x!s}', not to f'{x:s}'. Only %s, %r and %a can be supported. Formatting with %i should left untranslated. Or maybe translate '%r: %i' % (a, x) to f'{a!r}: {"%i" % x}'. It is possible also to introduce special opcodes that

[issue28307] Accelerate 'string' % (value, ...) by using formatted string literals

2016-09-29 Thread Eric V. Smith
Eric V. Smith added the comment: There isn't a direct mapping between %-formatting and __format__ format specifiers. Off the top of my head, I can think of at least one difference: >>> '%i' % 3 '3' >>> '{:i}'.format(3) Traceback (most recent call last): File "", line 1, in ValueError: Unknow

[issue28307] Accelerate 'string' % (value, ...) by using formatted string literals

2016-09-29 Thread Serhiy Storchaka
Changes by Serhiy Storchaka : -- dependencies: +Build-out an AST optimizer, moving some functionality out of the peephole optimizer ___ Python tracker ___ __

[issue28307] Accelerate 'string' % (value, ...) by using formatted string literals

2016-09-29 Thread Serhiy Storchaka
New submission from Serhiy Storchaka: For now using formatted string literals (PEP498) is the fastest way of formatting strings. $ ./python -m perf timeit -s 'k = "foo"; v = "bar"' -- '"%s = %r" % (k, v)' Median +- std dev: 2.27 us +- 0.20 us $ ./python -m perf timeit -s 'k = "foo"; v = "bar"'