[JS] Langzaam in FF op server, snel lokaal

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 05-09 21:08
Even een check of ik niet gek aan het worden ben: ik had een probleem, namelijk dat een externe Javascript-lib (http://datatables.net) langzaam draaide in FF, maar snel in GC. De opzet van mijn pagina is simpel: een PHP-pagina genereert een HTML-pagina met daarin de benodigde JS om die datatable weer te geven. In FF gaat het genereren van die datatable heel traag, in GC staat 'ie zo op mn scherm.

Om een vraag te kunnen stellen op het forum van http://datatables.net, heb het volgende gedaan:

1. Ik heb de gegenereerde HTML-pagina in FF gesaved met Bestand-->Opslaan als 'test.htm'. Hierdoor krijg je alle .js/.css-bestanden netjes in een mapje

2. Vervolgens heb ik de broncode van de gegenereerde HTML-pagina in test.html gezet (want de methode onder 1 geeft je de HTML zoals die op dat moment in de DOM staat != de HTML zoals PHP die uitspuugt, want er draait Javascript die HTML aanmaakt)

En nu het gekke: test.htm is bijna net zo snel als GC! Er is geen enkel dataverkeer m.b.v. AJAX, dus daar kan het niet aan liggen. Ik gebruik de nieuwste FF en alle caches zijn leeg.

Dus:

Op serverLokaal
FFJavascript langzaamJavascript snel
GCJavascript snelJavascript snel


Dit kan toch niet?

Acties:
  • 0 Henk 'm!

  • Flowmo
  • Registratie: November 2002
  • Laatst online: 18-08 08:24
Paar andere vragen:
- Om hoeveel records gaat het in die datatable? 100? 1000? 10000?
- Ik vermoed dat je met het opslaan van de pagina de gegenereerde datatable ook al opslaat. Probeer eens de bron van die pagina te bekijken, kopieer die en sla die op als los bestand, namelijk je test.htm. Is ie dan nog zo snel lokaal?

Probeer ook even een testcase te maken via jsfiddle.net. Wel zo makkelijk voor ons om te debuggen.

Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 05-09 21:08
Flowmo schreef op dinsdag 28 februari 2012 @ 08:41:
Paar andere vragen:
- Om hoeveel records gaat het in die datatable? 100? 1000? 10000?
1500 rows, +/-25 columns
Flowmo schreef op dinsdag 28 februari 2012 @ 08:41:
- Ik vermoed dat je met het opslaan van de pagina de gegenereerde datatable ook al opslaat. Probeer eens de bron van die pagina te bekijken, kopieer die en sla die op als los bestand, namelijk je test.htm. Is ie dan nog zo snel lokaal?
Nee, want ik kopieer al de bron. Dus:

1) PHP genereert origineel.htm
2) Ik sla origineel.html in FF op als test.htm. Dit geeft test.htm + een mapje met CSS/JS/Plaatjes
3) Ik knip/plak de source-HTML van origineel.htm in test.htm, met uitzondering van de <script>-tags in de head.

Het enige verschil tussen beide pagina's is dus dat de CSS-bestanden en de JS-bestanden in de head in het ene geval van de webserver afkomstig zijn, en in het andere geval van de 'lokale' map (de webserver is in mijn geval ook lokaal, maar dat terzijde).
Flowmo schreef op dinsdag 28 februari 2012 @ 08:41:
Probeer ook even een testcase te maken via jsfiddle.net. Wel zo makkelijk voor ons om te debuggen.
Daar was ik dus mee bezig, maar in die versie valt er niets te debuggen, want die werkt goed :).

Acties:
  • 0 Henk 'm!

  • Styxxy
  • Registratie: Augustus 2009
  • Laatst online: 12-09 15:22
Analyseer de verbinding eens met bijvoorbeeld Firebug (netwerk tabje)?

Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 05-09 21:08
De verbinding lijkt me niet relevant, want de webserver draait ook lokaal. Bovendien vindt er, na het inladen van de HTML geen dataverkeer meer plaats. En de datatable is niet alleen traag bij het inladen: iedere andere functie call is trager (zoeken bijv.). 8)7

Acties:
  • 0 Henk 'm!

  • Styxxy
  • Registratie: Augustus 2009
  • Laatst online: 12-09 15:22
Rekcor schreef op dinsdag 28 februari 2012 @ 09:05:
De verbinding lijkt me niet relevant, want de webserver draait ook lokaal. Bovendien vindt er, na het inladen van de HTML geen dataverkeer meer plaats. En de datatable is niet alleen traag bij het inladen: iedere andere functie call is trager (zoeken bijv.). 8)7
Ok (dat had je al kunnen vermelden in de TS). Maar kan je eens de vragen van Flowmo beantwoorden?
Flowmo schreef op dinsdag 28 februari 2012 @ 08:41:
Paar andere vragen:
- Om hoeveel records gaat het in die datatable? 100? 1000? 10000?
- Ik vermoed dat je met het opslaan van de pagina de gegenereerde datatable ook al opslaat. Probeer eens de bron van die pagina te bekijken, kopieer die en sla die op als los bestand, namelijk je test.htm. Is ie dan nog zo snel lokaal?

Probeer ook even een testcase te maken via jsfiddle.net. Wel zo makkelijk voor ons om te debuggen.

Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 05-09 21:08
Hoi Styxxy, bedankt voor je tijd, maar ik begrijp je vragen niet. Ik heb e.e.a. toch in de TS vermeld en ik heb FlowMo toch beantwoord? :)
Styxxy schreef op dinsdag 28 februari 2012 @ 09:07:
[...]

Ok (dat had je al kunnen vermelden in de TS).
[...]
Rekcor schreef op dinsdag 28 februari 2012 @ 08:36:
Er is geen enkel dataverkeer m.b.v. AJAX, dus daar kan het niet aan liggen.

Styxxy schreef op dinsdag 28 februari 2012 @ 09:07:
[...]

Maar kan je eens de vragen van Flowmo beantwoorden?

[...]
Rekcor schreef op dinsdag 28 februari 2012 @ 08:58:
[...]


1500 rows, +/-25 columns


[...]


Nee, want ik kopieer al de bron. Dus:

1) PHP genereert origineel.htm
2) Ik sla origineel.html in FF op als test.htm. Dit geeft test.htm + een mapje met CSS/JS/Plaatjes
3) Ik knip/plak de source-HTML van origineel.htm in test.htm, met uitzondering van de <script>-tags in de head.

Het enige verschil tussen beide pagina's is dus dat de CSS-bestanden en de JS-bestanden in de head in het ene geval van de webserver afkomstig zijn, en in het andere geval van de 'lokale' map (de webserver is in mijn geval ook lokaal, maar dat terzijde).


[...]


Daar was ik dus mee bezig, maar in die versie valt er niets te debuggen, want die werkt goed :).

Acties:
  • 0 Henk 'm!

  • Styxxy
  • Registratie: Augustus 2009
  • Laatst online: 12-09 15:22
En doet het probleem zich ook voor als je het online zet (dus een publiek toegankelijke server)? Zo ja: kan je eens de url hier posten zodat wij ook eens bij ons kunnen testen.

Acties:
  • 0 Henk 'm!

  • michiel_
  • Registratie: Juli 2005
  • Niet online
Kan het zijn dat je firebug aan hebt staan in de ene situatie, en uit in de andere? Deze kan de boel namelijk flink zwaarder maken.

Acties:
  • 0 Henk 'm!

  • Rekcor
  • Registratie: Februari 2005
  • Laatst online: 05-09 21:08
Solved!

Het was idd Firebug. D.w.z. ik had in beide gevallen Firebug uitstaan (grijs icoontje), maar als ik Firebug disable/verwijder, is'tie wel altijd snel...

Dank!
Pagina: 1