@techreport{oai:ipsj.ixsq.nii.ac.jp:02000821, author = {宇多,隆一 and 穐山,空道}, issue = {15}, month = {Feb}, note = {ゲーム開発においてECS (Entity Component System)が注目されているが、既存のプロジェクトとの互換性や学習コストの面で課題がある。本論文では、ソースコードや開発体制に影響を与えない中間言語レベルで既存のOOP (Object-Oriente Programming)で書かれたプログラムのメモリレイアウトをECSモデルへ変換するシステムを提案する。提案システムはLLVMを用いデータをストア及びロードするアドレスを取得する命令とメモリを確保する命令を書き換えることで実現する。実装したシステムの有効性およびプログラムのキャッシュ参照数とキャッシュミス数への影響に関する実験を行った。その結果、本システムが想定する一定の条件を満たすプログラムに対しては、ソースコードに手を加えることなくECSメモリレイアウトへ変換された状態でコンパイルが行えることを確認した。さらに、同一種類のコンポーネントを同時に多数扱う大規模なプログラムにおいては、キャッシュ参照数およびキャッシュミス数の大幅な削減が観測され、本システムがメモリアクセス効率を向上することが示された。}, title = {OOPプログラムのメモリレイアウトのECSモデルへのLLVM中間言語を用いた自動変換}, year = {2025} }