≪ Today I learned.
RSS購読
    公開日
    タグ
    TypeScript
    著者
    ダーシノ

    ts.createProgram()のパフォーマンス改善

    TypeScriptのモジュールを使って80個ほどの型定義を作成しようとしたとき、パフォーマンスがかなり悪かった。

    Before: 1m30s

    function extract(path: string, config: Config): Docs {
      const program = ts.createProgram(path, {})
      const source = program.getSourceFile(path)!
      ...
    }

    After: 1.5s

    createProgramが遅いので、複数回呼び出すのを避ける。

    const program = ts.createProgram(paths, {})
    
    function extract(path: string, config: Config): Docs {
      const source = program.getSourceFile(path)!
      ...
    }