WSHにやらせていたことでNode.jsに移行できるものがあれば移行しちゃったほうが高速で時間短縮になるかもね
Gin.jsを使って複数ファイルを構文解析したかったのでWSHにやらせたんだけど、対象データ367ファイルで結構時間かかった。JScriptのバージョンは5.8。測定にはtimeitを使った。
Elapsed Time: 0:03:24.843 Process Time: 0:00:01.046 System Calls: 4389576 Context Switches: 663676 Page Faults: 1163534 Bytes Read: 225608247 Bytes Written: 5009343 Bytes Other: 4229513
ファイル入出力はそんなに遅くないみたいだったけど、Gin#parseがやっぱり時間かかる。JScript 5.6でやってたときはもっとひどくて、3倍以上かかってた。あと、batでループさせるんじゃなくて、wsfのほうでEnumerator回すのも試したけど、それは遅くなったので、やめてる。
で、これ、COM使ってると言ってもADODB.Streamだけなので、簡単にNode.jsに移行できるよね?というわけで移植してみた。
そしたら43秒で終わって吹いた。さらにNode.js起動のオーバーヘッドとかシェルスクリプトのリダイレクトが遅いんじゃないかと思って改良したら、10秒くらいで終わったという。もう一声ということで、この処理は出力の順序がどうでもいいので非同期にしたら、
real 0m8.281s user 0m7.685s sys 0m0.296s
ちょw10秒きったww Node.jsはCygwinでもあっさりビルドできて動いたので、WSHにやらせていたことでNode.jsに移行できるものがあれば移行しちゃったほうが高速で時間短縮になるかもね、という話でした。