page0046
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* OSECPUサイズ最適化テクニック集
-(by [[K]], 2013.06.27)
** (1) テクニック
-(0) [[page0045]]の「(2) リリースモード」をよく読んでリリ...
-(1) PADD+LMEM ではなく PALMEMを使う。
--これで1つにつき3~4バイト改善する
-(2) PADD+SMEM ではなく PASMEMを使う。
--これで1つにつき3~4バイト改善する
-(3) グラフィックスの色指定で0xffffffを指定するのなら、mo...
--これで1つにつき3~4バイト改善する
--ほかの典型色も同様(黒は何もしなくても0なのでそのままで...
-(4) for (i = 12; i < 34; i++) などは、条件式を i != 34 ...
--これで1つにつき3~4バイト改善する
-(5) mainルーチンの後に beginFunc(...); が来ているのなら...
--これで6~8バイト改善する
-(6) junkApi_sleep(0, -1); を記述したのなら、それ以降に処...
--改善量はもとのプログラム次第
-(7) キー入力がなければ特に何もすることがないsleepの場合...
--これをすれば、直後のinkeyで-1が返ってくることを想定しな...
--これで3バイト程度改善する
-(8) レジスタを使う場合、R00~R06、P01~P06を積極的に使う。
--R07以降、P07以降は一度出るたびに0.5バイトずつプログラム...
-(9) もしPxxが変化してもかまわないのなら、LMEM0の代わりに...
--これで1つにつき0.5バイト改善する
--これはにわかには信じがたいだろうが、PPつきのほうが利用...
-(10) 同様にSMEM0の代わりにSMEM0PPを使う
--これで1つにつき0.5バイト改善する
-(11) API呼び出しの際に引数が計算式になっていないかチェッ...
--レジスタを含まない定数式なら問題はない
-(12) inkeyの処理で、4132,4133,4134,4135と比較する処理が...
-(13) 似たような処理はできるだけまとめる
--これはすごく効果があるので、R07以降を使うことになったと...
--同じようなものが2度、3度とでているのなら、そしてその違...
** (2) 数値定数を表現するのに要するバイト数の表
-3 ~ +3 : 0.5バイト
-15 ~ +31 : 1.0バイト
~ +256 : 1.5バイト (255の間違いではない)
~ +2047 : 2.0バイト
~ +32767 : 3.0バイト (2.5バイトの間違いではない)
~ +524287 : 3.5バイト
(以下略)
さらに256, 512, 1024などの2のべき数は、使用頻度が少し高...
終了行:
* OSECPUサイズ最適化テクニック集
-(by [[K]], 2013.06.27)
** (1) テクニック
-(0) [[page0045]]の「(2) リリースモード」をよく読んでリリ...
-(1) PADD+LMEM ではなく PALMEMを使う。
--これで1つにつき3~4バイト改善する
-(2) PADD+SMEM ではなく PASMEMを使う。
--これで1つにつき3~4バイト改善する
-(3) グラフィックスの色指定で0xffffffを指定するのなら、mo...
--これで1つにつき3~4バイト改善する
--ほかの典型色も同様(黒は何もしなくても0なのでそのままで...
-(4) for (i = 12; i < 34; i++) などは、条件式を i != 34 ...
--これで1つにつき3~4バイト改善する
-(5) mainルーチンの後に beginFunc(...); が来ているのなら...
--これで6~8バイト改善する
-(6) junkApi_sleep(0, -1); を記述したのなら、それ以降に処...
--改善量はもとのプログラム次第
-(7) キー入力がなければ特に何もすることがないsleepの場合...
--これをすれば、直後のinkeyで-1が返ってくることを想定しな...
--これで3バイト程度改善する
-(8) レジスタを使う場合、R00~R06、P01~P06を積極的に使う。
--R07以降、P07以降は一度出るたびに0.5バイトずつプログラム...
-(9) もしPxxが変化してもかまわないのなら、LMEM0の代わりに...
--これで1つにつき0.5バイト改善する
--これはにわかには信じがたいだろうが、PPつきのほうが利用...
-(10) 同様にSMEM0の代わりにSMEM0PPを使う
--これで1つにつき0.5バイト改善する
-(11) API呼び出しの際に引数が計算式になっていないかチェッ...
--レジスタを含まない定数式なら問題はない
-(12) inkeyの処理で、4132,4133,4134,4135と比較する処理が...
-(13) 似たような処理はできるだけまとめる
--これはすごく効果があるので、R07以降を使うことになったと...
--同じようなものが2度、3度とでているのなら、そしてその違...
** (2) 数値定数を表現するのに要するバイト数の表
-3 ~ +3 : 0.5バイト
-15 ~ +31 : 1.0バイト
~ +256 : 1.5バイト (255の間違いではない)
~ +2047 : 2.0バイト
~ +32767 : 3.0バイト (2.5バイトの間違いではない)
~ +524287 : 3.5バイト
(以下略)
さらに256, 512, 1024などの2のべき数は、使用頻度が少し高...
ページ名: