VS2005 RC1 Dataset merge bad performance

Hi,

We've just migrated from Beta2 to RC1,
and we get very bad performance with the (Typed) Dataset's merge function.
After analyzing with a profiling tool, we've discovered that the merge function calls the GetRowType many many times more that in the previous (2.0 beta2) version.
for example - for a dataset with about 10 tables, one of them with 6000 rows:

in Beta2 - GetRowType called 18 times.
in Rc1 - almost 20,000 times.

in Beta2 - 1-2 second
in Rc1 - 8-9 seconds

Is there a workaround or will be a fix to that problem.

thanks,

Oren.


Answer this question

VS2005 RC1 Dataset merge bad performance

  • Kiyac

    hi Pham.
    i am readiing ur article.
    i am facing a similar kind of problem in which i am merging two dataset with the help of dataset.merge(dataset) method.
    you have said that you have write your own method to solve this. can you plaese provide that solution.
    So that it ll be helpful for me.
    Thanks in advance

  • andac

    Hi John,

       I think you meant this link http://blogs.msdn.com/smartclientdata/archive/2005/09/19/471518.aspx 

       If I remember correctly, the events that were being raised were RowChanged events, not ListChanged. Would this property affect those too

    Thanks,
    Juan

       

  • Craig Main

    Does your application have any Data bound UI involved
    Here is a tip for the performance with Data Bound UI.
    http://blogs.msdn.com/smartclientdata/archive/2005/09/19/471518.aspx 
    (Thanks Juan!)


  • Larb

    There's a "de"optimization that we have recently identified and solved.

    Please get in touch with Customer Support Services [1] if you need it.

    Sorry for the inconvenience,

    --VV [MS]
    vascov@microsoft.com

    [1] http://www.microsoft.com/services/microsoftservices/srv_support.mspx


  • Jose.

    I'm noticing in some cases the Merge function takes about 80% of the processing time for some user actions, which makes this particular application perform badly in most cases. In my case what I'm noticing is a lot of events being raised.
    Is there any way to at least disable event firing while doing a merge

    Regards,
    Juan

  • SzKane

    I wrote my own method to merge records from 2 table by their keys. It is much faster; merging 3000/rec/each table within sec and very low CPU usage, I think. I havent done any precise measurement yet, what I mean here is DataTable.Merge/DataSet.Merge method are too slow/CPU intensive to use.
  • Donal Lafferty

    Hi Oren, did you find a solution for this issue I have performance problem with DataTable.Merge too.

    Thanks.


  • mecano14

    If you've found a bug in a framework class and solved it I'd rather prefer it be made publicly available, just as the framework is.


  • VS2005 RC1 Dataset merge bad performance