Método mais rápido de concatenação de String no Python

image_pdfimage_print

O Python3.6 modificou o comportamento da concatenção do componentes conhecido como Literal String Interpolation.

Abaixo um caso de teste demonstrando qual é o método mais veloz e ágil para efetuar esta operação:

domain = ‘some_really_long_example.com’
lang = ‘en’
path = ‘some/really/long/path/’

Abaixo os métodos utilizados para concatenar:

f’http://{domain}/{lang}/{path}’ – 0.151 µs

‘http://%s/%s/%s’ % (domain, lang, path) – 0.321 µs

‘http://’ + domain + ‘/’ + lang + ‘/’ + path – 0.356 µs

”.join((‘http://’, domain, ‘/’, lang, ‘/’, path)) – 0.249 µs

No último exemplo é importante notar que utilizando tuple é um pouco mais rápido que utilizando lista mesmo com tamanho definido/fixo.

O código mais curto de ser escrito como visto acima, também é o código mais rápido para executar.

Na versão alpha do Python3.6, a implementação do f” é a mais lenta, com a ineficiência de implementação corrigida na versão final

Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!