![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 10.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jestem w trakcie robienia aplikacji opartej w dużej części na JS i danych w formacie JSON, wykorzystuję do tego jQuery 1.3
chciałem zobaczyć jak to będzie działac w dłuższym okresie czasu i zapuściłem jakies dane testowe - uruchomiłem program i zostawiłem komputer - o ile sam program działał to jak sprawdziłem użycie pamięci przez przeglądarkę (FF) to z 100MB podskoczyło do 1,4GB tak 14x pewnie to nie jest normalne i coś robię źle, ale co? ogólnie aplikacja wygląda następująco prócz jQuery są jeszcze 4 klasy, na podstawie tych klas jest stworzonych 6 obiektów, we właściwościach tych obiektów sa pojedyncze zmienne (int), a JSON jest najczęściej argumentem metody wywoływanej dla danego obiektu, prócz tego są dwa JSON-y globalne ładowane na początku aplikacji nie chcę wklejać całego kodu JS, bo to szkoda i miejsca i czasu - ale mam pytanie, na co zwrócić uwagę, co mogę zmienić, poprawić ulepszyć no chyba że takie zachowanie jest normalne ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
moze masz wycieki pamieci. Nie usuwasz niepotrzebnych obiektow etc.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Spróbuj jeszcze na innej przeglądarce. Pamiętaj, że FF jest pamięciolubne.
Jeżeli używasz settimeout, badz clearInterval to pamietaj o ich usuwaniu jezeli ich nie uzywasz (clearTimeour, clearInterval) -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat nie chcę wklejać całego kodu JS, bo to szkoda i miejsca i czasu - ale mam pytanie, na co zwrócić uwagę, co mogę zmienić, poprawić ulepszyć Używać profilera. Jest taki w Firebugu. Fakt, to tylko czasowo uwzględni, ale zawsze będziesz miał punkt zaczepienia, bo w większości przypadków duża zaalokowana pamięć = dłuższy czas operacji. Cytat - o ile sam program działał to jak sprawdziłem użycie pamięci przez przeglądarkę (FF) to z 100MB podskoczyło do 1,4GB tak 14x A na innej podwersji Fx jest to samo...? Coś mi tu nie pasuje, ale raz: Fx zapełnia pamięć jak Vista (weźmie, ile ma ;p), dwa: zależy od klas... Choć na 99% nie jest to sytuacja normalna. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 10.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
wycieki pamięci w JS? niby cos musi "trzymać" zmienną i cały czas tworzyć nową - inaczej by zadziałał garbage collector
co więcej - zauwazyłem, że nawet jak nic się nie dzieje to uzycie pamięci rośnie - może się coś dzieje, ale nie jestem tego świadomy? odpaliłem Safari 4 - przyrost był mniejszy i co więcej gdy np miałem już iles tam MB to jak dałem minimalizację to schodziło do 16-11MB potem przy maksymalizacji skakało do jakiś 28-33MB potem coś tam robiłem - rosło, ale wystarczyło że zminimalizuję/zmaksymalizuję i wracało do jako takiej normy w przypadku FF takiej bajery z min/max nie ma sprawdziłem też na Operze 9.64 - najmniej zużywa pamięci tak między 2/3 a 3/4 tego co Safari 4, a dodtakowo wystepuje bajer z min/max czy to ma coś wspólnego z rysowaniem i odświerzaniem ekranu - przyznam, że mam trochę ruchomych rzewczy, jais wykres na płótnie, trochę divów absolutnych i takie tam, troche ajaxa itp itd dla porównania zapuściłem sobie mapy googla i tak sobie porównalem i zobaczyłem, że przy poruszaniu się też jest tam przyrost pamięci - co prawna ja nie mam map, ani tylu zmian, ale czy pryczyna może tkwić w zmianie rzeczy widzialnych dla uzytkownika Czas wykonania (30.094ms, 1837 wywołań) Czas wykonania (31.14ms, 1641 wywołań) Czas wykonania (27.295ms, 1643 wywołań) Czas wykonania (29.509ms, 1743 wywołań) Czas wykonania (29.189ms, 1643 wywołań) Czas wykonania (29.2ms, 1643 wywołań) Czas wykonania (29.204ms, 1642 wywołań) Czas wykonania (29.729ms, 1643 wywołań) Czas wykonania (29.392ms, 1642 wywołań) co do czasu wywoływania - powyższe zestawienie polegało na czekaniu na wykonie akcji poprzez jakiś timer w JS (wykonywanie cykliczne) chyba nie jest źle i to chyba świadczy, źle o JS? w tym czasie uzycie pamieci wzrosło z 68 do 126MB (FF) nie wiem może, ktos na tej podstawie będzie mógł coś więcej powiedzieć Ten post edytował juzwa 16.06.2009, 12:02:27 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat inaczej by zadziałał garbage collector W Fx? ![]() Cytat czy to ma coś wspólnego z rysowaniem i odświerzaniem ekranu - przyznam, że mam trochę ruchomych rzewczy, jais wykres na płótnie, trochę divów absolutnych i takie tam, troche ajaxa itp itd Dopiero teraz to mówisz...? Samo rysowanie na płótnie - niestety - trochę zasobów pożera. A co do pozycjonowania absolutnego: zależy, naprawdę zależy. AJAX? Zależy, co masz na myśli. ![]() A tak BTW, spróbuj na nieostylowanym DOM, na próbę - czy będzie nadal to samo? Choć przyznam z doświadczenia - canvas + półprzezroczyste warstwy stają się kulą u nogi dla większości przeglądarek. No i zależy oczywiście od platformy. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 10.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
zrobiłem coś takiego, ze wszedzie gdzie argumentem był JSON to na końcu go usuwałem za pomocą delete i zostawiłem na noc operę z tym problemem - zużycie pamięci przez Operę to po nocce i działaniu na jakiś losowych danych - koło 50MB - czyli podobnie jak było z FF tylko, że na Operze
szkoda, że wcześniej tego nie zrobiłem tez i na Operze - ale porównując do FF to jakoś nie chce mi się wierzyć, ze tych parę deletów spowodowało 20x mniejsze zużycie pamięci (w porównaniu do tego samego czasu działania) trzeba będzie jeszcze raz zostawić FF-a i się przekonać czy to cos dało, czy to tak juz jest i koniec |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
hehe, a mowilem ze masz wycieki pamieci to nie wierzyles
![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Chyba nadal nie napisałeś, na jakim systemie odpalasz. [;
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 10.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
jeśli chodzi o system to testuje to na XP a dokładniej na XAMPP-ie
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 06:14 |