Closed Getaji closed 1 year ago
StringPropertyFactory.getStringProperty(...) メソッドのパフォーマンス(実行速度とメモリ消費)を改善しました。
StringPropertyFactory.getStringProperty(...)
このメソッド内では、プロパティを検索するために StringType.values() を呼び出しています。しかし、列挙型の values() メソッドは、列挙型の不変性を保つために毎回新しい配列が生成(コピー)されています。getStringProperty(...) は毎フレーム複数回呼び出されるため、かなりのメモリを消費していました。そこで values() をキャッシュして変更不可能化することでこの問題の改善を試みました。
StringType.values()
values()
getStringProperty(...)
StringPropertyFactory.getStringProperty(...)
メソッドのパフォーマンス(実行速度とメモリ消費)を改善しました。このメソッド内では、プロパティを検索するために
StringType.values()
を呼び出しています。しかし、列挙型のvalues()
メソッドは、列挙型の不変性を保つために毎回新しい配列が生成(コピー)されています。getStringProperty(...)
は毎フレーム複数回呼び出されるため、かなりのメモリを消費していました。そこでvalues()
をキャッシュして変更不可能化することでこの問題の改善を試みました。