私は惨めで、誰かが助けてくれることを願っています!
非常に遅いコードがありました。私は 40 を持っていvariables
ます。それぞれについて、次のことを行います。
for (i=variables.length; i--;) {
metric = URL?name=variable;
d3.select( ... get_data(metric)).... // calls to visualize the data
}
function get_data(metric) {
d3.json(metric, function(data) {
// do stuff
});
}
高速化するために、次のことを行いました。
for (i=variables.length; i--;) {
metric = URL;
d3.select( ... get_data(metric,variable)).... // calls to visualize the data
}
function get_data(metric,variable) {
d3.json(metric, function(data) {
parse(data, variable) // extract variable related data
// do stuff
});
}
新しいコードは少なくとも 6 倍高速です。しかし、なぜ?より多くのデータをフェッチしていませんか?
編集:私は戻っconsole.log(data)
て新しいget_data
機能を実行しましたが、驚くべきことに、データ全体(URL)を40回要求しました!! それでも、これは 40 の異なる (URL?name=variable) を実行するよりも高速です。