問題タブ [opcode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - APC で特定のファイルのキャッシュを無視する
特定のファイルがAPCで opcode キャッシュされないようにする方法はありますか? ユースケースは次のとおりです。
動的にサイズを変更する (必要に応じてサーバーをスピンアップおよびスピンダウンする) クラウド上にあるアプリケーション。config.php スクリプトは、新しい IP が使用可能または使用不可になったときにそれを認識している必要があります。
これらの変更は頻繁に発生し、config.php ファイルはかなり基本的なものであるため、1 つのファイルについてのみ APC をクリアすることを心配する必要がないことが理想的です。
APC から 1 つのファイルをクリアすることは間違いなく可能ですが、コマンド ライン経由で APC にアクセスできないため、ソリューションはかなり洗練されていません。
php - 空の op_array を作成するにはどうすればよいですか?
PHP 拡張機能で、オペコードを含まない op_array を作成するにはどうすればよいですか?
opcode - レジスタにロードする命令
命令セット アーキテクチャでは、すべての種類の R タイプ、I タイプ、J タイプの命令が同じ汎用レジスタにロードされますか、または opCode に基づいて異なる種類の命令が異なるレジスタにロードされますか? レジスタが異なる場合、プロセッサはどの命令をどのレジスタにロードするかをどのように認識しますか? コンパイラの設計において、命令をロードできるレジスタの数は固定されていますか?
プロセッサは、R-Type、I-Type、J-Type などのさまざまなタイプの命令をどのように区別しますか?最初の初期オペコードに基づいていますか?
assembly - 「call dword ptr [mem32]」のオペコードと ModRM の質問?
EBP レジスタからポインタ アドレスを呼び出せないのはなぜですか? これが意味することは、次のコードパターンで示されています。
- OpCode: '0xFF 0x10' -> CALL DWORD PTR DS:[EAX]
- OpCode: '0xFF 0x11' -> CALL DWORD PTR DS:[ECX]
- OpCode: '0xFF 0x12' -> CALL DWORD PTR DS:[EDX]
- OpCode: '0xFF 0x13' -> CALL DWORD PTR DS:[EBX]
- OpCode: '0xFF 0x14' -> CALL DWORD PTR SS:[ESP+EDI]
- OpCode: '0xFF 0x15 0x012345678' -> CALL DWORD PTR DS:[0x012345678]
- OpCode: '0xFF 0x16' -> CALL DWORD PTR DS:[ESI]
- OpCode: '0xFF 0x16' -> CALL DWORD PTR DS:[EDI]
'5' は「Intel Instruct マニュアル」に記載されていますが、'6' は直接参照されることはなく、EBP レジスタから呼び出すことができないと明言されることもありません。これは役に立たない機能ではないことはわかっていますが、Intel がこれら 2 つのレジスタを使用することを選択した理由、それは単なる設計上の選択なのか、それとも私が見逃しているものなのでしょうか? (推測ですが、本当の理由が知りたいです。)
java - getfield オペコードの回避
Java の String クラスでは、trimメソッドに次のものが含まれます。
「getfield オペコードを避ける」というコメントに少し困惑しています...
これは何を意味するのでしょうか?(これによりバイトコードでgetfieldの使用が回避されると思いますが、なぜこれが良いこと [TM] なのですか?)
トリムが何もしない(したがってこれが返される)場合にオブジェクトの作成を防ぐためですか?
php - どちらの建設がより速いですか?
どちらの構築が速いですか:
また
すべての変数はローカル変数です。
掛け算、足し算、引き算、割り算で速度は違う?
アップデート:
ここにいくつかの説明があります:
- これは、速度が最適化されたコードをゼロから作成することに関する理論的な質問です。「ボトルネックを探す」ことではありません。
- 自分でコード速度を測定できます。しかし、それは microtime() を使用する宿題についての質問ではありませんでした。それは、PHP インタープリターがどのように機能するかについての質問でした (Google を自分で掘り下げて理解しようとしましたが、問題はありませんでした)。
- さらに、私は自分で測定しましたが、少し混乱しました. $a、$b、および $c (ゼロ、負、正、整数、および浮動小数点の組み合わせ) の異なる開始値は、構造間で異なる結果を生成します。だから私は混乱しました。
BoltClock は有益な情報を提供してくれましたが、user576875 はオペコード デコーダーへのリンクを投稿することで 1 日を終えました。彼の答えには、私の質問に対する直接の答えも含まれています。ありがとう!
php - \(バックスラッシュ)はPHP(5.3+)で何をしますか?
PHPで何\
をしますか?
たとえば、CSRF4PHPには\FALSE
、、、\session_id
および\Exception
:があります。
php - キャッシュされたファイルの APC キャッシュを無効にしますか?
私は非常に大きなウェブサイトを持っており、そこには phpBB を利用したフォーラムがあります。1Gb の RAM で APC を有効にしています。phpBB は大量の php ファイル(私の場合は 60 000 ~ 70 000) を生成し、 APC メモリを急速にいっぱいにします。オプションを使用して、そのようなファイルの apc キャッシュを無効にすることを考えていapc.filter
ました。あなたの意見では、それは理にかなっていますか?
php - APC オペコード キャッシュが PHP で正常に動作しているかどうかを確認するにはどうすればよいですか?
APC キャッシュを有効にして PHP を使用しています。
オペコードキャッシュを100%使用しているかどうかを知るにはどうすればよいですか。
たとえば、次の PHP ファイルがあるとします。
このファイルを実行した後、次のように変更します。echo "Bye there";
7200 秒の TTL がまだ終わっていないので、「こんにちは」とエコーするべきではありませんか? 私は正しいですか?もしそうなら、なぜ「さようなら」と反響するのですか?また、私が間違っている場合、ファイルを変更した後でも、強制的にオペコード キャッシュを使用させるにはどうすればよいですか?