import re
texto = "# 44,739 % of all cache refs 12,345 lorem ipsum # 98,736 % etc 45,678 blablbla"
exp = r'# (\d+,\d+) %'
from timeit import timeit
# executa 1 milhão de vezes cada teste
params = { 'number' : 1000000, 'globals': globals() }
# usando a expressão compilada
print(timeit('r.findall(texto)', setup='r = re.compile(exp)', **params))
# não usando a expressão compilada
print(timeit('re.findall(exp, texto)', **params))
aW1wb3J0IHJlCnRleHRvID0gIiMgNDQsNzM5ICUgb2YgYWxsIGNhY2hlIHJlZnMgMTIsMzQ1IGxvcmVtIGlwc3VtICMgOTgsNzM2ICUgZXRjIDQ1LDY3OCBibGFibGJsYSIKZXhwID0gcicjIChcZCssXGQrKSAlJwoKZnJvbSB0aW1laXQgaW1wb3J0IHRpbWVpdAoKIyBleGVjdXRhIDEgbWlsaMOjbyBkZSB2ZXplcyBjYWRhIHRlc3RlCnBhcmFtcyA9IHsgJ251bWJlcicgOiAxMDAwMDAwLCAnZ2xvYmFscyc6IGdsb2JhbHMoKSB9CgojIHVzYW5kbyBhIGV4cHJlc3PDo28gY29tcGlsYWRhCnByaW50KHRpbWVpdCgnci5maW5kYWxsKHRleHRvKScsIHNldHVwPSdyID0gcmUuY29tcGlsZShleHApJywgKipwYXJhbXMpKQojIG7Do28gdXNhbmRvIGEgZXhwcmVzc8OjbyBjb21waWxhZGEKcHJpbnQodGltZWl0KCdyZS5maW5kYWxsKGV4cCwgdGV4dG8pJywgKipwYXJhbXMpKQo=