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. Anonymous 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. Anonymous says:

    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. Anonymous 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. Anonymous says:

    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?