Performance overwegingen

Status
Niet open voor verdere reacties.

bn2vs

Terugkerende gebruiker
Lid geworden
18 aug 2007
Berichten
1.705
Hey,

Ik heb momenteel 1 grote JS file, waar slechts een bepaald percentage van de code word gebruikt bij bepaalde situaties (afhankelijk van het soort pagina dat word opgevraagt).

Nu kan ik 2 dingen doen:

1 Het zo laten, met als nadelen dat er teveel code word gedownload.

2. Het veranderen door de code op te splitsen in meerdere JS files en in mn PHP code enkel de gene die verijst zijn laten includen. Dit heeft als nadelen dat er in de meeste gevallen meerdere JS files moeten worden gedownload (dit zal meestal rond de 5 zitten ofzo).

Dus wat is het snelste, een file met pakweg 50% redundancy, of meerdere kleine files zonder redundancy? En hoe zwaar weegt dat door? (Meerdere kleine files heeft architecturaal gezien een voorkeur)

Alvast bedankt :)

Cheers
Jeroen De Dauw
 
Ikzelf ben iemand die het ook liever in 20 verschillende files stopt, maar, zoals je zelf zei: niet echt strak qua downloaden.

Het idee van een cache is daarom uitgevonden; je download het eens, en als het de volgende keer nodig is en je hebt het al, hoef je t niet nog eens te downloaden.

Daarom zou ik het gewoon op 1 groot .js file houden (overgens, denk eens aan *al* die websites met een javascript lib zoals jQuery - die gebruiken ook maar een klein stuk van die code), deze minimaliseren (minificeren? gewoon, alle comments eruit enzo, jeweetwel) en deze compressen tijdens het versturen. Scheelt al heel erg veel.

Check ook eens mn compressie pagina (het text bestand is 175 kb en kan gecompressed worden tot 7kb)



:thumb:
 
Hey,

De website waar dit voor nodig is gebruikt wel cache, maar word door redelyk veel mensen bezocht. Daarom maken kleine vreschillen dus veel uit.

Je hebt waarschijnlijk wel gelijk. Ga echter eerst nog aan wat andere vragen voordat ik een definitieve beslissing maak :)

Cheers
Jeroen De Dauw
 
Yow,

zou je je bevindingen dan graag ook hier weer terug willen posten? Ben namelijk ook wel benieuwd wat anderen ervan vinden.
 
Hey,

Is goed ;)

Cheers
Jeroen De Dauw
 
Het idee van een cache is daarom uitgevonden; je download het eens, en als het de volgende keer nodig is en je hebt het al, hoef je 't niet nog eens te downloaden.
Daarom zou ik het gewoon op 1 groot .js file houden
Nog wat overwegingen:
  • ... maar datzelfde geldt ook voor een serie kleine bestandjes: als er 5 zijn binnengehaald en die dus in de cache zitten, en de volgende pagina heeft er ook 5 nodig, waarvan 3 dezelfde, dan hoeven er dus nog maar 2 kleine bij gedownload te worden.
  • Aan de ene kant: een grote js vraagt minder http-requests, en is dus sneller.
  • Aan de andere kant: een paar kleine js'jes vragen minder downloadtijd, en kunnen dus ook sneller zijn.
  • Het zal daarom denk ik van de verhouding in grootte afhangen (tussen het complete pakket-script en de afzonderlijke kleintjes), wie dit partijtje wint.
  • En ook van de bestandsgrootte t.o.v. de exacte pakketjesmaat waarin de bestanden over internet gestuurd worden: bij kleintjes die net boven de grootte van een pakketje zitten, is er naar verhouding veel dump bij.
  • Er zou ook nog een tussenoplossing kunnen zijn: combineren van een aantal aan elkaar verwante kleintjes, oftewel opsplitsen van de grote boy in logische bestanddelen.
Maar je zou eens de proef op de snelheids-som kunnen doen met twee testpagina's: één met het grote js, en één met een serie kleintjes.
Op http://websiteoptimization.com/services/analyze/ kun je dan precies het verschil zien.
NB:
  • Dit kan ook rechtstreeks via het Tools-menu op de Webdevelopers Toolbar in Firefox.
  • Uit de Yslow add-on, die binnen Firebug in FF werkt, kan je misschien ook nog nuttige tips halen.
Eigenlijk is mijn vermoeden dat het niet zo heel veel uitmaakt, zeker niet bij snellere verbindingen. Ik ben benieuwd waar je op uit komt! :)

Met vriendelijke groet,
CSS-hunter
 
Laatst bewerkt:
Hey,

Thanks voor de tips! :D

Cheers
Jeroen De Dauw
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan