文のウソ・ホント¶
概要¶
YAYA(文)でよくある誤解や思い込み(ウソ)と、実際の動作(ホント)を解説するページです。パフォーマンス最適化に関する誤解を中心に取り上げています。
内容¶
1. ローカル変数とグローバル変数¶
ウソ: グローバル変数を積極的に使って構わない。
ホント: グローバル変数を放置するとそのまま保存されてセーブファイルのサイズが大きくなり、処理速度が低下します。ローカル変数を積極的に活用すべきです。
2. ERASEVAR の頻繁な使用¶
ウソ: ERASEVAR を頻繁に使えばメモリが解放されてパフォーマンスが向上する。
ホント: ERASEVAR での頻繁な削除は効果的ではなく、むしろ検索処理により動作が遅くなる可能性があります。ただし「グローバル変数を終了直前に削除すればセーブファイルの肥大化を防げる」という実用的な用途はあります。
3. 配列のパフォーマンス¶
ウソ: 配列は遅いので変数を大量に作った方がいい。
ホント: 汎用配列は十分に高速で、変数を大量に作るより効率的な場合もあります。ただし簡易配列は遅いため、IARRAY などの汎用配列の活用が推奨されます。
4. フィードバック演算子の速度¶
ウソ: フィードバック演算子を使えば関数呼び出しが高速化する。
ホント: フィードバック演算子の使用は高速化につながらず、むしろ遅くなる可能性があります。
5. if 文の括弧¶
ウソ: if 文の条件式を括弧で囲むと処理が遅くなる。
ホント: if 文の条件式を括弧で囲むかどうかは性能に影響しません。括弧は辞書読み込み時に破棄されます。
6. 日本語の関数名・変数名¶
ウソ: 日本語の関数名や変数名は使えない。
ホント: 日本語(漢字、ひらがななど)の関数名・変数名は使用可能です。禁止されるのは以下の場合のみです。
- 数字で始まる名前
- アンダースコアで始まる名前
- 演算子を含む名前
説明¶
これらの情報は現在の実装状態を反映したものであり、将来のバージョンで変わる可能性があります。
関連項目¶
- IARRAY
- ERASEVAR