Python Print kodu neden yanlış çalışıyor?

Kodunuzda hata var. Yeterince iyi ölçmez o şekilde. Yine de dediğime yakın sonuç vermiş. Mertebeleri aynı.

Kod:
import timeit

ad = "Mesut"

def a():
    print("Benim adım", ad)

def b():
    print("Benim adım {}".format(ad))

def c():
    print(f"Benim adım {ad}")

def d():
    print("Benim adım " + ad)

def e():
    print(" ".join(["Benim adım", ad]))


a_list = timeit.repeat(setup="a()", globals=globals(), repeat=1_000)
b_list = timeit.repeat(setup="b()", globals=globals(), repeat=1_000)
c_list = timeit.repeat(setup="c()", globals=globals(), repeat=1_000)
d_list = timeit.repeat(setup="d()", globals=globals(), repeat=1_000)
e_list = timeit.repeat(setup="e()", globals=globals(), repeat=1_000)

a_min = min(a_list)
b_min = min(b_list)
c_min = min(c_list)
d_min = min(d_list)
e_min = min(e_list)

print(a_min)
print(b_min)
print(c_min)
print(d_min)
print(e_min)


Demek ki her zaman hızlı olmuyormuş. E tabii bir de benchmark için sisteme herhangi bir şey yapmamam var. Boşta falan değil sistem. Ama o an kendim ek bir şey yapmadım.
Print ile test yapmak ne kadar doğru bilmiyorum. Print görünce es geçiyor olabilir. Es geçmeden kastım değeri hesaplar ama print fonksiyonunu çağırmaz. Bu durumda mesela ilki anlamsız olur.

Değişkene atayıp a'yı attım.


Dediğim gibi, kayda değmeyecek bir fark. Fark etmenize imkan yok. Milyon kere çağırınca bile aralarında saniyenin on binde birinden daha az fark olduğu oluyor. Pratikte aynılar. Testi tekrar yapsanız alacağınız değerlerin farklılığı daha fazla.
 
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…