2009-04-27 17 views
6

Czy ktoś może wskazać na poważne porównanie śladu wykonawczego Pythona z Javą?Python kontra java runtime footprint

Dzięki Abraham

+0

"poważny"? Widziałeś porównania, które są zbyt lekkomyślne? –

+1

Ponieważ Jython używa JVM, nie jestem pewien jakiego rodzaju porównania chcesz? CPYhton? Żelazny Python? –

+0

Prawdopodobnie CPython. Ale myślę, że byłoby ciekawie zobaczyć Jython. –

Odpowiedz

1

nie mogę porównać zużycie pamięci, ponieważ tak naprawdę zależy od klas czego obciążenia/użycia. Ale mogę wam powiedzieć, że Python (w szczególności IronPython 2.7) ma problemy z prawdziwymi wyciekami pamięci. Szczególnie w przypadku osób trzecich, które są dobrze wykorzystywane, np. Finansowe. Gdy aplikacja/serwer Java działa bez problemów w rzadkich przypadkach, które można zidentyfikować za pomocą typowych narzędzi, Python stale rośnie w pamięci.

Zrzuty pamięci pokazują, że zarówno Python, jak i większość pakietów nie zwraca uwagi na typowe klasy takie jak String i przechowuje je w różnych częściach modułów wykonawczych. Trudno i nierozsądnie przejść przez wszystkie te źródła i naprawić wszystkie nieszczelności.

Próbowałem dużo naprawić problemy, ale w końcu podałem się i po prostu uruchom ponownie aplikację, gdy osiągnie pewien próg pamięci.