予期しないパフォーマンスの問題

アミット・クマール・グプタ

私は最近、HTTPルーティングに使用されるnodejsパッケージअनुमार्गाक(Anumargak)を作成しました。奇妙なパフォーマンスの問題に直面しています。

onルートを登録し、登録されたルートfindを見つける方法があります。

var anumargak = Anumargak();
anumargak.on("GET",'/some/url',fn);
anumargak.find("GET",'/some/url');

ユーザーがonメソッドを呼び出すと、最初にfindメソッドを呼び出して、ルートがすでに登録されているかどうかを確認します。そうでない場合は、ルート情報を2D配列に保存します。ユーザーがfindメソッドを呼び出すと、2D配列でエントリを探すだけです。

Anumargak.prototype.on = function(method,url,fn){
    if(this.find(method,url)){
      this.count --;//count of unique registered routes.
    }
    this.count +=1;
    this._on(method,url,fn);//_on method has actual logic of saving route information
}

Anumargak.prototype.find = function(method,url){
    var result = this.staticRoutes[method][url];
    if(result) return result.fn;
    else{
        //handles dynamic routes
    }
    return this.defaultFn;
}

findメソッドはメソッドに依存しませんonしかし、メソッドからfindメソッドを呼び出すと、findメソッドのonパフォーマンスが半分に低下します。onメソッドを1回だけ呼び出して、メソッドのパフォーマンスをテストしていますfind考えられる理由は何ですか?

ノードv9.5.0を使用しています。

アミット・クマール・グプタ

パフォーマンスの問題は何だったのかわかりません。しかし、呼び出しthis.find()は正しくありませんでした。this.find登録されたURLは正規表現またはパラメータの詳細を持つことができるのに対し、実際のURLを受け入れるためです。

したがって、パフォーマンスも解決する問題を修正するためにコードを書き直しました。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

multiprocessing.Pool()の予期しないパフォーマンス

分類Dev

x64モードでC ++ / CLIからMASMPROCを呼び出すと、予期しないパフォーマンスの問題が発生します

分類Dev

Rcppの単一の「for」ループの予期しないパフォーマンス

分類Dev

パフォーマンスの問題

分類Dev

GPUパフォーマンスレベル-予期しない低下

分類Dev

選択可能なRecyclerViewのパフォーマンスの問題

分類Dev

yaml-cppの主なパフォーマンスの問題

分類Dev

DataReaderのパフォーマンスの問題、奇妙な動作

分類Dev

奇妙なKinecticjsのパフォーマンスの問題

分類Dev

OpenJDKは断続的なパフォーマンスとUIの問題を示しています

分類Dev

istringstreamを使用したパフォーマンスの問題

分類Dev

Perlと比較したJavaパフォーマンスの問題

分類Dev

UNION を使用したパフォーマンスの問題

分類Dev

Qt:パフォーマンスの問題のない(カスタム)QWidgetsのリスト

分類Dev

配列とハッシュ間の予期しないアクセスパフォーマンスの違い

分類Dev

新しい列のパフォーマンスの問題を追加するパンダ

分類Dev

予期しないVarHandleパフォーマンス(代替より4倍遅い)

分類Dev

Java8での予期しない並列ストリームのパフォーマンス

分類Dev

Pythonでのkerasとtensorflow.kerasの予期しないパフォーマンスの違い

分類Dev

DjangoAdminの重大なパフォーマンスの問題-外部キーラベル

分類Dev

DynamicResourceでいっぱいの大きなCanvasを使用したローカリゼーションでのWPFパフォーマンスの問題

分類Dev

大きなテーブルでループを使用したPythonのパフォーマンスの問題

分類Dev

node.jsとASP.NET Coreのパフォーマンステストの予期しない結果

分類Dev

RBFカーネルでSVMを使用した場合の予期しないパフォーマンス

分類Dev

RBFカーネルでSVMを使用した場合の予期しないパフォーマンス

分類Dev

再帰による予期しないパフォーマンス結果

分類Dev

新しいファイルへの書き込みと上書き:パフォーマンスの問題

分類Dev

Springの@Autowiredは大きなパフォーマンスの問題ですか?

分類Dev

Coldfusion10で再現可能なCFQUERYPARAMのパフォーマンスの問題

Related 関連記事

  1. 1

    multiprocessing.Pool()の予期しないパフォーマンス

  2. 2

    x64モードでC ++ / CLIからMASMPROCを呼び出すと、予期しないパフォーマンスの問題が発生します

  3. 3

    Rcppの単一の「for」ループの予期しないパフォーマンス

  4. 4

    パフォーマンスの問題

  5. 5

    GPUパフォーマンスレベル-予期しない低下

  6. 6

    選択可能なRecyclerViewのパフォーマンスの問題

  7. 7

    yaml-cppの主なパフォーマンスの問題

  8. 8

    DataReaderのパフォーマンスの問題、奇妙な動作

  9. 9

    奇妙なKinecticjsのパフォーマンスの問題

  10. 10

    OpenJDKは断続的なパフォーマンスとUIの問題を示しています

  11. 11

    istringstreamを使用したパフォーマンスの問題

  12. 12

    Perlと比較したJavaパフォーマンスの問題

  13. 13

    UNION を使用したパフォーマンスの問題

  14. 14

    Qt:パフォーマンスの問題のない(カスタム)QWidgetsのリスト

  15. 15

    配列とハッシュ間の予期しないアクセスパフォーマンスの違い

  16. 16

    新しい列のパフォーマンスの問題を追加するパンダ

  17. 17

    予期しないVarHandleパフォーマンス(代替より4倍遅い)

  18. 18

    Java8での予期しない並列ストリームのパフォーマンス

  19. 19

    Pythonでのkerasとtensorflow.kerasの予期しないパフォーマンスの違い

  20. 20

    DjangoAdminの重大なパフォーマンスの問題-外部キーラベル

  21. 21

    DynamicResourceでいっぱいの大きなCanvasを使用したローカリゼーションでのWPFパフォーマンスの問題

  22. 22

    大きなテーブルでループを使用したPythonのパフォーマンスの問題

  23. 23

    node.jsとASP.NET Coreのパフォーマンステストの予期しない結果

  24. 24

    RBFカーネルでSVMを使用した場合の予期しないパフォーマンス

  25. 25

    RBFカーネルでSVMを使用した場合の予期しないパフォーマンス

  26. 26

    再帰による予期しないパフォーマンス結果

  27. 27

    新しいファイルへの書き込みと上書き:パフォーマンスの問題

  28. 28

    Springの@Autowiredは大きなパフォーマンスの問題ですか?

  29. 29

    Coldfusion10で再現可能なCFQUERYPARAMのパフォーマンスの問題

ホットタグ

アーカイブ