問題タブ [inline-functions]

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.

0 投票する
2 に答える
2430 参照

javascript - JavaScript関数呼び出しを自動的にインライン化するツール?

この記事で説明するように、JavaScript関数呼び出しをインライン化すると、実行が高速化され、gzip後のコードサイズも小さくなります。

http://blog.calyptus.eu/seb/2011/01/javascript-call-performance-just-inline-it/

ただし、JSソースファイルを自動的に処理し、その中のすべての(またはより適切な、選択された)関数呼び出しをインライン化するツールが見つかりません。GoogleのClosureCompilerはインライン化を行いますが、常にではなく、構成もできません。

前もって感謝します!

0 投票する
6 に答える
72133 参照

python - インライン関数またはマクロとPythonの同等性

私はちょうど気づいた

するより3倍速い

ここで、xは複素数のnumpy配列です。コードを読みやすくするために、次のような関数を定義できます。

これはabs(x)** 2よりもはるかに高速ですが、関数呼び出しが犠牲になります。マクロやインラインキーワードを使用してCで行うように、このような関数をインライン化することはできますか?

0 投票する
3 に答える
268 参照

c - インライン関数はどのように内部データ構造を公開しますか?

これは、「Cのインライン関数が内部データ構造を公開する」ということをよく耳にします。これが、一部の人々がそれらを好まない理由の1つです。

誰か説明してもらえますか?

前もって感謝します。

プログラムcode.cと関数func()があるとしましょう。1)func()をインラインにすることができます-これにより、code.cのデータ構造で行うことはすべて公開されます2)func()をライブラリに入れて、共有ライブラリとして提供できます(読み取り可能ではありません-I推測??:p)----これは正しい分析ですか?

0 投票する
5 に答える
438 参照

c++ - 「#define」とインラインは同じように動作しますか?

次のように、ヘッダーの 1 つにいくつかの短い定義があります。

例えば

しかし、これを渡すと:

次に、このようにコンパイルされますか?

これは、160*2 を 2 回行うため、処理が増えるだけです。

インライン関数が同じように動作するかどうか疑問に思っていますか? 例えば

160*2 は 320 として「int a」に格納され、計算は機能しますか、それとも定義と同じように動作しますか?

より良い例は、次の呼び出しです。

0 投票する
3 に答える
300 参照

c++ - C++ - 関数のインライン展開ができない場合は?

皆さん、

「 Thinking in C++」 (Chap - インライン関数)を読んでいたときに、このステートメントに遭遇しました。

「関数のアドレスが暗黙的または明示的に取得されている場合、コンパイラはインライン化も実行できません」。

" " とはどういう意味taking address of function implicitly or explicitlyですか?
この場合、インライン化できないのはなぜですか?

ありがとう。

0 投票する
4 に答える
6213 参照

c++ - インライン関数プロトタイプ vs 通常の宣言 vs プロトタイプ

インライン関数とメインの違いは何ですか:

対次のように定期的に関数を宣言するだけです:

対関数プロトタイプ?

0 投票する
3 に答える
2234 参照

objective-c - LLVMはObjective-Cメソッドをインライン関数に変換しますか?

  1. LLVMは、可能な場合、Objective-Cメソッドをインライン関数に自動的に変換しますか?

    (つまり、インラインで貼り付けることができるコードのブロックに対してObjective-Cメソッドを作成するのと同じくらいパフォーマンスが良いですか?)

  2. LLVMがこの最適化を実行しない場合は、なぜですか?もしそうなら、(a)これを実現するために設定しなければならない特定のビルド設定はありますか?(b)Objective-Cメソッドがインライン化されるかどうかはどうすればわかりますか?

0 投票する
1 に答える
138 参照

apache-flex - クラス全体にIResponderを実装させずに、新しいIResponderを機能させる

現在IResponderを実装しているカスタムmxmlコンポーネントがあります。このIResponderを関数に渡すことは、これを使用して正常に機能します。

ただし、これにはパブリックメソッドの結果と障害の実装が含まれるため、次のように、新しいIResponderを関数に渡すことができないかどうかを尋ねています。

0 投票する
4 に答える
781 参照

c++ - インライン関数の使用は、関数本体をコードに直接記述するのと同じくらい高速ですか?

Foo1()とのFoo2()うち、どちらがより速く完了しますか?

0 投票する
2 に答える
14510 参照

c - C:インライン関数へのポインタ

Hファイルで定義されたstatic inline関数があり、Cファイルのある時点で、次のような関数へのポインターを割り当てています。

foo.h:

foo.c

bar.c

したがって、ここで起こることは、コンパイラがbar.cからの呼び出しをインライン化することだと思いますfrobnicateが、foo.cでは、実際に実装する関数を作成する必要があります。これにより、コンパイラへfrobnicateのポインタが機能します。

誰かが私の理解が正しいかどうかを確認し、そうでない場合は訂正できますか?