05. juli 2006 - 09:02Der er
4 kommentarer og 1 løsning
Performance optimering, arrays
Hej Exp'er,
Har lige et lille spørgsmål angående array perfomance.
Jeg har et "multidim"-array
var s = new Array(); s[0] = new Array(); s[0][0] = new Array(' '); s[0][1] = new Array('<div id="yy1xx0">Sortering</div>'); s[1] = new Array(); s[1][0] = new Array(' '); s[1][1] = new Array('<div id="yy1xx1"> </div>');
Det ovenstående er bare begyndelsen, det hele ender med at jeg har et mega array, af forskellige objects, strings osv.
Når jeg skal sortere på det og der er fx 200 rækker så er det enormt langsomt, og til tider vil IE også afbryde scriptet. Jeg tror umiddelbart det er pga. opbygningen af array'et, som det er nu TROR jeg at har alle data liggende dirrekte i arrayet, hvad jeg TROR kunne speede det lidt op var hvis det kun var referencen til dataene der skulle flyttes ved sortering.
Er der nogen der kan fortælle mig om jeg tager helt fejl, og/eller måske har en bedre løsning.
Virksomheder er på vej fra store sprogmodeller, der svarer på spørgsmål, til AI-agenter, der kan udføre opgaver på egen hånd. Det gør teknologien mere nyttig – og langt mere risikabel.
Slettet bruger
05. juli 2006 - 09:42#1
Var det ikke en mulighed at du kun havde data i dine arrays istedet for, som det ser ud i eksemplet, har den fulde markup. Du kunne ved bare generer f.eks. div'erne når det skal skrived ud, kunne jo også være at sorteringen på den måde også var lidt mere lige til.
Ok.. dårligt eksempel, det er faktisk kun de 2 eneste steder i mit array at der ligger markup. Resten af array'et bliver bygget op med forskellige objects.
fx.
function partnerInArray(n) { for(var x = 2; x < s.length; x++) { if(s[x][0][0].getPid() == n) return x; } return false; }
function addPartner(pid, name, url, img, cpc) { if(partnerInArray(pid) === false) { var x = s.length; if(!s[x]) { s[x] = new Array(); } s[x][0] = new Array(new Partner(pid, name, url, img, cpc)); s[x][1] = new Array(new Sorting(1, x)); } }
Det er en nok en bubblesort jeg bruger, men har lige lidt svært ved at overskue at lave en mergesort på et multidim array :-(
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.