⚖️
Typescript関数の実行時間とメモリー使用量をざっくり測る方法
事前準備
こちらの環境構築を終えてts-nodeでcodeのコンパイルと実行を行えることが前提の記事となっております🙇
TL;DR
3ステップです!
ステップ1!💡
src/index.ts
const func = (str: string): void => {
// 計測したい処理
console.log(str);
};
const startTime = performance.now();
func(); 💡
const endTime = performance.now();
// 関数の終了時間 - 開始時間 = 関数の実行時間
console.log(`Time : ${~~(endTime - startTime)}ms`);
// src/index.tsの実行時のメモリ使用量を取得(このファイルのメモリ使用量、この関数ではない)
const used = process.memoryUsage().heapUsed / 1024; 💡
console.log(`Memory : ${Math.round(used)} KB`);
ステップ2!
package.json
{
.
.
.
"scripts": {
"src:index": "./node_modules/.bin/ts-node src/index.ts",
},
.
.
.
}
ステップ3!
terminal
$ npm run src:index
出力結果
terminal
> ./node_modules/.bin/ts-node src/index.ts
実行時間を計測したい処理
Time : 1ms
Memory : 67309 KB
無事に計測することができるようになりました!🎉
こちらの記事で計算量(時間計算量、空間計算量)についての基礎的なことがすごく分かりやすく学ぶことができますので気になる方はぜひ見てください!
小話
最近Atcoderを始めたのですが、コードを書くのもブラウザから書いて提出してやっとエラーに気づく
みたいな流れを何回も繰り返してこれではダメだ!と感じローカルで計測する環境の構築を行いました。 まだまだ戦えるレベルではないのですが地道に以下の問題を解いて来週土曜の21:00もAtcoderBiginnerContestに挑もうと思います!
ではまた明日!
Discussion