Dataset performance improvements in frameworks V2


System.Data.DataSet contains some very significant performance improvements over prior versions – particularly for large result set scenarios.

In particular,

 

  • Highly efficient Binary Remoting —  For large Dataset, orders of magnitude better than v1.x
  • Row Insert, Delete and Modify operations – For large Dataset, orders of magnitude better than v1.x. For instance, for a DataTable with PrimaryKey constraint, inserting million rows in random order takes around 45 seconds. Everett took 30 Minutes.
  • Maintaining DataViews in sync with underlying DataTable was very expensive in v1.x, In Whidbey it’s extremely fast – orders of magnitude better.
  • WebServices/Remoting for TypedDataset: It can be send across to other end without having to send its schema, significantly reducing the serialized payload and giving approx 4x+ improvement in end-end latency.

The following article (in addition to highlighting some new V2 features) also details the performance improvements.

Comments (6)

  1. Jeff Parker says:

    Ohhhh good news. I have always loved datasets and use them all the time when performance isn’t an issue. They are an extremely useful tool.

  2. So I can stop recommending that people should build entity classes and collections instead of using the horribly unscalable DataSet object?

    That’s a relief although I’m so used to building API’s without it that it will be hard to go back.

    You say it’s faster, but is it as fast as non-DataSet entities?

  3. 下载 says:

    Ohhhh good news. I have always loved datasets and use them all the time when performance isn’t an issue. They are an extremely useful tool

  4. If they can be improved "orders of magnitude better than v1.x",

    – what is the performance of datasets in v1.x?

    – what features will datasets in v2.x have, that will be improved to "orders of magnitude better" in v3.x?