captainys / TOWNSEMU

FM Towns Emulator "Tsugaru"
BSD 3-Clause "New" or "Revised" License
238 stars 17 forks source link

Optimize Interrupt and FetchOperand. #57

Closed bcc2528 closed 1 year ago

bcc2528 commented 1 year ago

Optimize Interrupt and FetchOperand.

pinterior commented 1 year ago

(途中でフォールトが起きたときのespの値など、Push, Pop周りは今の仕組みのままではちょっとうまくいかないことがあるのがわかっているので、あまり力をいれるのはお勧めしません...)

bcc2528 commented 1 year ago

申し訳ございません。Visual Studio のエディタで自動調整されてタブに置き換わってしまったようです。 解析ツールでのCPU負荷の値はFetchInstructionでのFetchOperandの読み出しが11%代から10%代に低下する程度の効果で誤差もある大きな最適化ではないので問題があるようでしたらmergeしないでください。

pinterior commented 1 year ago

2015072 で一旦変更を差し戻していて、449afb3 の差分(変更内容)が主題なのでしたら、以下のような手順でどうでしょうか。

  1. 新しいブランチを、captainsys さんのリポジトリの master と同じ場所に作る
  2. 449afb3 の内容を手で編集して再度適用する
    • おせっかいなエディタを避けるとよいです
  3. 1.で作ったブランチに commit して push する
  4. Pull Requestを作る
    • 例えばコマンドラインで操作していると、pushしたときにPR作成用のURLが出てくるはずなのでそこから作ると楽です
    • Files Changedのタブで意図しない変更が含まれていないか、意図した変更が全て含まれているか確認するとよいです
    • ベンチマーク結果は積極的にアピールしていくのがよいと思います

よくわからない点があったら気軽に質問してください。