We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
タイトル通りです。
共有メモリ上に文字幅キャッシュを構築する処理が、 取得した共有メモリが使えるかどうかをチェックする判定の「前」にあります。
sakura/sakura_core/env/CShareData.cpp
Lines 741 to 747 in e013bcd
キャッシュというのは普通、作成するのにある程度時間のかかるデータを何度も作成することによる時間のロスを防ぐために使うものなので、チェック判定で途中終了させるロジックがある場合は「チェックの後」に作成するようにすべきと思います。
他にもたくさんあるんですけど、これが一番分かりやすい問題だと思うので一応issue立てときます。
論理的な処理順序の不備ですので常に再現します。 ただし、影響を受けるユーザは以下すべてを満たす人のみで、開発者に限られると思います。
#1523
The text was updated successfully, but these errors were encountered:
確かに不要な計算が行われる可能性のあるコードですね。
今ある文字幅キャッシュをプロセス間で共有するという仕組みは得られる利益とコードの複雑性が釣り合ってない気がしていて、できればばっさり削除してしまいたいと思っています。ブランチは手元にあるのですが、性能の変化の検証をしてPRにまとめる作業に手を付ける気にならず放置中です…。
Sorry, something went wrong.
ブランチは手元にあるのですが、性能の変化の検証をしてPRにまとめる作業に手を付ける気にならず放置中です…。
あら。。。
文字幅キャッシュに関して気付いた他の問題
No branches or pull requests
問題内容
タイトル通りです。
共有メモリ上に文字幅キャッシュを構築する処理が、
取得した共有メモリが使えるかどうかをチェックする判定の「前」にあります。
sakura/sakura_core/env/CShareData.cpp
Lines 741 to 747 in e013bcd
キャッシュというのは普通、作成するのにある程度時間のかかるデータを何度も作成することによる時間のロスを防ぐために使うものなので、チェック判定で途中終了させるロジックがある場合は「チェックの後」に作成するようにすべきと思います。
他にもたくさんあるんですけど、これが一番分かりやすい問題だと思うので一応issue立てときます。
再現手順
再現頻度
論理的な処理順序の不備ですので常に再現します。
ただし、影響を受けるユーザは以下すべてを満たす人のみで、開発者に限られると思います。
問題のカテゴリ
関連する不具合
#1523
環境情報
スクリーンショット
The text was updated successfully, but these errors were encountered: