Open8
めちゃくちゃ重い処理を軽く感じさせること
最近めちゃくちゃなループ処理を書いてます。
内容としては再帰処理を使って、objectの中身を探しまくります。valueがobjectならkeyの一覧を取得して探す感じ。
k1: {
k2: {
k3: ...
}
}
それをたくさんおこなっています。もしかしたら高速化を行えば何とかなるのかもしれません。
しかし、体感的に無理そうと判断しているので、処理の高速化ではなく、体感の高速化で対処したいと考えました。
見つかったのがchillout.jsです。こちらはCPUの負荷を下げて実行します。トータルの実行時間は伸びるようですが、CPUの負荷が下がるので、体感が早くなりそうです。
どうやって確認すればいいのかよくわからない。
現状は、処理が重くなり、loadingのくるくるが固まったと思うので、くるくるが固まらなかったら嬉しいな。
検証してみよう
code-sandbox自体に制御されてる気がする。localでテストしよう。
console.log()を3000回やるだけで20秒くらいかかってる。そんなわけないじゃん。
テスト完了しました。chilloutいいよ。
普通に実行すると固まるけど、chilloutだと固まらない。
ハマりどころとして、軽い処理を1000000回実行したらchilloutは重くなった。
なので、適度に重い処理を間に挟むといいのかもしれない。
適度に重いがまだよくわからない。
もう少しこのパッケージを調べたい。
感覚的には、軽い処理を積み重ねて重い処理にして、chilloutに入れれば良さそう。