speedTest.js
 

Snelheidstest voor het zoeken binnen een lijst

One-liners
 
Show-Case
 
pre-dzLib
 
Menu
 

Voor een aantal zaken wilde ik binnen javascript kijken of een waarde in een lijst voorkomt. En aangezien dit erg vaak gebeurd, wilde ik eens testen wat het snelst was. Ik heb drie gegevensstructuren getest:

  • Array
  • String
  • Object

Het uitgangspunt is een array met strings. Deze wordt omgezet naar een string en naar een object. Om alle verschillende tests dezelfde uitgangspositie te geven, wordt er een test-set samengesteld. 50% van de te zoeken strings komen in de lijst voor; 50% strings komen niet voor. De strings die niet in de lijst voorkomen, worden random samengesteld, met als woordlengte 3 tot 8 tekens uit een alfabet van letters.

De Test


  Array-search
arr1 for(var i=0; i<array.length; i++) if(array[i]==s)
arr2 for(var i in array) if(array[i]==s)
  Object-search
obj1 if(object[s]==null)
obj2 if(typeof object[s]!='undefined')
  String-search
str1 if(str.indexOf(s)!=-1)
str2 if(str.lastIndexOf(s)!=-1)

Testwaarden (arr1 resultaat is 100%)

  arr1 arr2 obj1 obj2 str1 str2
ie5.0a100%740%38%63%42%41%
ie6100%950%43%79%45%46%
ns6.1100%276%23%12%40%28%