1

アプリでの価格計算を高速化する必要があります。現在、JS で製品アイテムを繰り返し処理し、各製品アイテムの価格を計算しています。ネイティブモジュールを使用して高速化できるのではないかと考えていました。でもそうでもないようですよね?

シンプルな C++ ネイティブ モジュールを performance.now() でテストすると、同等の JS よりも遅くなります。乗算の 20 回の反復の単なる for ループです。

ネイティブ モジュールを使用する場合、ある種のオーバーヘッド (JSON 解析?) があると思います。

最初に約束ベースの方法を使用してみましたが、最初の実行には約15msRCT_EXPORT_METHODかかります。

それから試してみRCT_EXPORT_BLOCKING_SYNCHRONOUS_METHODましたが、それでもJSよりも遅かったです。最初の実行には約0.4msかかりました。

JSの最初の実行には約0.0025 ミリ秒かかります。

価格を反復して計算するためのネイティブモジュールは悪い考えですか/JSよりも高速ではありませんか?

コード:

  int multiply(float a, float b)
  {
    for (int i = 0; i < 100; i++)
    {
      int test = a * b;
    }

    return a * b;
  }
  // Native module
  React.useEffect(() => {
    const p1 = performance.now();
    const test = multiply(3, 7);
    const p2 = performance.now();
    const result = p2 - p1;
    console.log(`A: ${result}`, test);
  }, []);

  // JS
  React.useEffect(() => {
    const p1 = performance.now();
    const test = 3 * 7;
    for (let i = 0; i < 20; i++) {
      const a = 3 * 7;
    }
    const p2 = performance.now();
    const result = p2 - p1;
    console.log(`B: ${result}`, test);
  }, []);

4

0 に答える 0