1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

C#パフォーマンスネタ

Posted at

とりあえずネタ出し
パフォーマンスは実測値も載せないと信用ならないので、そのうちやる

DateTable

  • 使うならキャッシュを活かす
    データ件数が数件ならどうでも良いけど、数万超えてくるとキャッシュは絶対に無視出来ない。
    DateTableに対するデータ参照は、初回はおっそいが次回以降はキャッシュが作られるため非常に速い。
    が、AddなどでDateTableが更新されるとキャッシュが効かなくなる。
    そのため、Add→Selectを繰り返したりすると馬鹿みたいに高コストになる。
    この場合、DefaulteViweに参照で使用するキー情報を設定するとかなり改善する。
    (Addのコストは微増するが、参照が高速化する)

  • そもそも使わない方法を検討する
    ぶっちゃけ遅いしメモリ消費も大きいので、
    どうしても使わないといけない場合以外、
    別のコレクション型を使いたい。
    listやDictionaryとか。

  • フィルターの条件は複雑にしない
    Selectのフィルターは、
    条件をSQLぽっく書けて使いやすい。
    ただし、条件をANDなどで複数繋げるより、
    Selectの結果を、再度Selectする方が速い。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?