Ich spiele gerade mit crossfilter.js
, siehe https://github.com/square/crossfilter/wiki/API-Reference und http://square.github.io/crossfilter/.
Angeblich ist die Bibliothek sehr gut darin, Daten schnell zu verarbeiten. Um es zu testen, erstelle ich zunächst ein Array mit zufälligen Zahlen, ein großes, mit einer Million Zeilen.
function create_random_json(){
result = []
for (var i = 1000000 - 1; i >= 0; i--) {
result.push( { 'a': Math.random() , 'b' : Math.random() * 5 } )
}
return result
}
json_array = create_random_json()
df = crossfilter( json_array )
Bis hierhin gut, aber dann, wenn ich versuche, einige grundlegende crossfilter-Aktionen auszuführen, gehen die Dinge furchtbar schief.
df.dimension( function(d){ return d.total; });
RangeError: Maximum call stack size exceeded
Ich habe gelesen, dass dieser Fehler durch NaN
-Werte verursacht werden kann, aber alle Werte, die ich generiert habe, sind offensichtlich Floats, also nehme ich an, dass etwas anderes die Probleme verursacht. Irgendwelche Hinweise?