コンテンツにスキップ

文のウソ・ホント

概要

YAYA(文)でよくある誤解や思い込み(ウソ)と、実際の動作(ホント)を解説するページです。パフォーマンス最適化に関する誤解を中心に取り上げています。

内容

1. ローカル変数とグローバル変数

ウソ: グローバル変数を積極的に使って構わない。

ホント: グローバル変数を放置するとそのまま保存されてセーブファイルのサイズが大きくなり、処理速度が低下します。ローカル変数を積極的に活用すべきです。

2. ERASEVAR の頻繁な使用

ウソ: ERASEVAR を頻繁に使えばメモリが解放されてパフォーマンスが向上する。

ホント: ERASEVAR での頻繁な削除は効果的ではなく、むしろ検索処理により動作が遅くなる可能性があります。ただし「グローバル変数を終了直前に削除すればセーブファイルの肥大化を防げる」という実用的な用途はあります。

3. 配列のパフォーマンス

ウソ: 配列は遅いので変数を大量に作った方がいい。

ホント: 汎用配列は十分に高速で、変数を大量に作るより効率的な場合もあります。ただし簡易配列は遅いため、IARRAY などの汎用配列の活用が推奨されます。

4. フィードバック演算子の速度

ウソ: フィードバック演算子を使えば関数呼び出しが高速化する。

ホント: フィードバック演算子の使用は高速化につながらず、むしろ遅くなる可能性があります。

5. if 文の括弧

ウソ: if 文の条件式を括弧で囲むと処理が遅くなる。

ホント: if 文の条件式を括弧で囲むかどうかは性能に影響しません。括弧は辞書読み込み時に破棄されます。

6. 日本語の関数名・変数名

ウソ: 日本語の関数名や変数名は使えない。

ホント: 日本語(漢字、ひらがななど)の関数名・変数名は使用可能です。禁止されるのは以下の場合のみです。

  • 数字で始まる名前
  • アンダースコアで始まる名前
  • 演算子を含む名前

説明

これらの情報は現在の実装状態を反映したものであり、将来のバージョンで変わる可能性があります。

関連項目

  • IARRAY
  • ERASEVAR