Wpis z mikrobloga

Tym razem postanowiłem zająć się tematem memory leaków w Pythonie. Czy są w ogóle możliwe? Co może być przyczyną niespodziewanie rosnącego zużycia pamięci? Wpis: Czy w Pythonie może wyciekać pamięć?.

Przy okazji napisałem swoje pierwsze kilka linijek w #ruby, bo przeczytałem jak działają tam argumenty domyślne i nie oparłem się pokusie przetestowania tego. ;D

Zapraszam też do obserwowania mojego tagu --> #polydev
#programowanie #python
  • 6
@piotrb: dzięki, poprawione. :)
@Marpop: w Rubym argumenty domyślne są ewaluowane podczas każdego wywołania funkcji, a nie podczas jej tworzenia (jak ma to miejsce w Pythonie). Zatem jeżeli argumentem domyślnym będzie pusta lista, to ona zawsze będzie pusta - w Pythonie natomiast jeśli coś do niej dołączymy, to podczas kolejnego wywołania lista już nie będzie pusta. A że składnia tych języków jest miejscami podobna, to sądzę, że jest to dobry
@alex-fortune dzięki. :) Co do Mark and Sweep to masz całkowitą rację, natomiast z tego, co udało mi się znaleźć, to w implementacji CPython algorytm ten ma za zadanie tylko przerywać cykle (nawet nie dealokuje niczego). Może nie do końca jasno to napisałem w artykule, dlatego zalinkowałem tam też do definicji z Wiki. :)