refactor: Optimize pre-calculation map structure #23
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
概要
事前計算した部分置換数と有効牌の表の値を圧縮して保存するように変更する。
この変更により表の容量が 1 要素あたり 8 + 8 + 16 + 16 = 48 bit から 32 bit と 2 / 3 に削減される。
また、変更前は置換数の計算の際、部分置換数に配列のタプルと 2 段階でアクセスしていたが、
変更後は配列のみの 1 段階のアクセスになった。
この変更により計算速度が 25 % ~ 29 % 減少している (約 1.3 ~ 1.4 倍高速化している)。
変更前
変更後