Skip to content

generate html in parallel #999

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 7 commits into from
Closed

generate html in parallel #999

wants to merge 7 commits into from

Conversation

koron
Copy link
Member

@koron koron commented Dec 19, 2021

#997 をやってみた。

make html の代わりに make -j4 html2 みたいにして使う。


結果:

  • GHA上にて 220秒くらいだったものが130秒くらいに高速化した
  • 更新したjaxに対応するhtmlを個別にビルドできるようになった

残課題:

  • 一部ファイルのファイル名が異なるなどしてる

@koron koron self-assigned this Dec 19, 2021
@koron
Copy link
Member Author

koron commented Dec 27, 2021

いったんとりあえずで make -j4 html2 が GHA でどのくらいの時間かかるかを試してみます。

@koron
Copy link
Member Author

koron commented Dec 27, 2021

変更前は 3m37s だったものが https://github.com/vim-jp/vimdoc-ja-working/runs/4627429197
並列度4 (-j4) 変更後は 2m0s or 2m17s になった。

@koron
Copy link
Member Author

koron commented Dec 27, 2021

並列度6にしてみたけど 2m9s と大きな変化は見られなかった。
https://github.com/vim-jp/vimdoc-ja-working/runs/4640523907

あとは2にしてみる。
そもそも2コアらしいので。

@koron
Copy link
Member Author

koron commented Dec 27, 2021

並列度2で 2m8s だった。
https://github.com/vim-jp/vimdoc-ja-working/runs/4640559298

サンプル数が少ないのでなんともだが-j2 が実効的な上限と考えてよさそう。

とはいえ将来割り当てコア数が増えないとも限らないのと
特に実行時間が延びるというデメリットもなさそうなので
-j4 でくらいに設定してよさそうに思える。

@koron
Copy link
Member Author

koron commented Dec 27, 2021

テスト用ファイルは消します。

@koron koron changed the title generate html in parallel, but it's very slow generate html in parallel Dec 27, 2021
@koron
Copy link
Member Author

koron commented Jun 3, 2025

最近ふたたび試したところ以下のことがわかり、現実的な選択肢ではないとの結論に至った。

  • HTMLへの変換時にtagsファイルの読み込み(&パース)にとても時間がかかるため
  • 直列実行時は、読み込んだtagsファイルをキャッシュして再利用するので、1回で済む
  • 並列実行時は、各Vimインスタンスで個別に読み込み、並列度に応じてオーバヘッドが(とても)大きくなる

よってこのPRは取り下げます。

@koron koron closed this Jun 3, 2025
@koron koron deleted the parallel-build branch June 3, 2025 03:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant