Skip to content

cppcheck 実行時間削減#2354

Open
gorogoro123 wants to merge 1 commit intosakura-editor:masterfrom
gorogoro123:feature/reduce_cppcheck_run_time
Open

cppcheck 実行時間削減#2354
gorogoro123 wants to merge 1 commit intosakura-editor:masterfrom
gorogoro123:feature/reduce_cppcheck_run_time

Conversation

@gorogoro123
Copy link
Contributor

@gorogoro123 gorogoro123 commented Jan 31, 2026

PR対象

  • ビルド手順/CI

カテゴリ

  • 改善

PR の背景

cppcheck の実行時間が長い。

仕様・動作説明

解析対象ファイルで使用しないマクロ (NORETURN) を移動します。

PR の影響範囲

影響なし。

テスト内容

  1. CI が pass することを確認する。
  2. ログファイルを確認し、条件付きコンパイルの組み合わせが減っていることを確認する (5455->4707)。

関連 issue, PR

#2272

参考資料

@github-actions
Copy link

Test Results

681 tests  ±0   681 ✅ ±0   2m 27s ⏱️ -1s
 82 suites ±0     0 💤 ±0 
  1 files   ±0     0 ❌ ±0 

Results for commit 0e9e12d. ± Comparison against base commit c9fd10e.

@berryzplus
Copy link
Contributor

実行時間、変わってないように見えます。

CppCheckはpull_request_targetではないので、「マージしないと変更が反映されてない」は起こりません。

チェック対象のオプションはこうなってるので、効果ある可能性はあると思います。

sakura/run-cppcheck.bat

Lines 58 to 59 in c9fd10e

set CPPCHECK_PARAMS=%CPPCHECK_PARAMS% -I %~dp0sakura_core
set CPPCHECK_PARAMS=%CPPCHECK_PARAMS% %~dp0sakura_core

修正内容自体は許容ですが
「戻らない関数(例外投げるだけのユーティリティ関数とか)」って本体でも使いません?
ってあたりは気になるところ。

どちらかと言うと「 -I の指定が足りてない」が効いてきそうに見えていて。

@berryzplus
Copy link
Contributor

-I が足りない件は対応してみます。

@berryzplus
Copy link
Contributor

-i ではなく --project を使ったほうがいいような。
image

コマンドラインはこんな感じになる。
image

実行時間は 10分くらい で「実効性なし」の部類。
(CIでの実績は標準で約15分、たまに1時間かかってタイムアウト。)

実効性がありそうなのは キャッシュ利用 なんだけど、
CppCheckのチェック結果の信頼性に疑問を持っていて、「やる?」になってしまう。
(検出されてる error がほぼほぼ誤爆(≒fault positive)っぽいのよね。)

cppcheckの使い方が間違ってるのは問題だけど、
正しく(?)使っても結果が変わらないなら放置していいんじゃないか、みたいな。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants