Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JS]Wydajność - lepiej trzymać w pamięci czy wyliczać, co jest wydajniejsze
juzwa
post 22.05.2009, 13:28:11
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 10.07.2006

Ostrzeżenie: (0%)
-----


pewnie pierwszą odpowiedzią jest - że to zależy - ale czy jest jakaś ogólna reguła, ewentualnie od czego to zależy?

przykład - banalny, ale niech będzie - rozmiar diva, niech będzie, że jest potrzebny w ilus sytuacjach np w 10

czy lepiej jest trzymać ten rozmiar w zmiennych czy za kazdym razem go pobierać?

kolejne pytanie - czy wydajniejsze jest przechowywanie zmiennych jako zmiennych
Kod
var divH=0;
var divW=0;


czy jako obiektów (przyznam, że jest to dla mnie wygodniejsze, ale nie wiem czy lepsze, wydajniejsze, zalecane?)

Kod
var divP = {h:0,w:0};
/*i potem */
divP .h, divP.w;
Go to the top of the page
+Quote Post
kamil4u
post 22.05.2009, 15:35:30
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Najlepiej sprawdzić sam* smile.gif
Cytat
przykład - banalny, ale niech będzie - rozmiar diva, niech będzie, że jest potrzebny w ilus sytuacjach np w 10

Oczywiście, że lepiej w zmiennej smile.gif - choć różnice są minimalne i przy 10 to ma praktycznie zerowe znaczenie

Cytat
kolejne pytanie - czy wydajniejsze jest przechowywanie zmiennych jako zmiennych czy obiektów

Nie mam pojęcia - wydaje mi się, że w zmiennych, ale to tylko wydaje się smile.gif

*no właśnie - prosty skrypt,który rozwiąże Twoje pytania:
Kod
<script>
function howLong(f,i,x){
for(x=new Date();i--;)window[f]()
return new Date()-x + 'ms'
}

function x1(){var a=1; var b='test';}
function x2(){var divP = {a:1,b:'test'};}

alert(howLong('x1',1000)+ ' vs '+howLong('x2',1000)); //haha miałem rację - u mnie całe 2 ms różnicy :)
//wywołanie howLong('nazwa_funkcji',ilość_powtórzeń)
</script>


Ten post edytował kamil4u 22.05.2009, 15:35:54


--------------------
Go to the top of the page
+Quote Post
erix
post 22.05.2009, 16:37:42
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A nie prościej przetestować konkretny kod profilerem z Firebuga...?


--------------------

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!
Go to the top of the page
+Quote Post
juzwa
post 22.05.2009, 17:56:13
Post #4





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 10.07.2006

Ostrzeżenie: (0%)
-----


rośnie to i to w postępie większym niz liniowy

czy można zaryzykować tezę, że nie warto programować obiektowo w JS, bo to może jest estetyczne, ale za to mało wydajne?
Go to the top of the page
+Quote Post
kamil4u
post 22.05.2009, 19:07:04
Post #5





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


JS to język obiektowy więc ciężko będzie nie pisać obiektowo smile.gif - a tak na poważnie(wiedząc co masz na myśli) to uważam, że przy większym projekcie jest to bez znaczenia pod względem wydajnościowym


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.06.2025 - 04:39