Why GenCheckinNotesUpdateWorkitem task is expensive !!!


 


Performance data for GenCheckinNotesUpdateWortItem task (all times in ms)


1.       For MSTV project (~ 17 MB)


a.       Failed 1st build –


Time in Task – 110848


QueryLabel – 990


AnalyzeChangeset – 105870


QueryHistory – 105800


UpdateWorkItem – 3737


Get_WorkItem – 3737


b.       Successful 1st build –


Time in Task – 121108


QueryLabel – 1053


AnalyzeChangeset – 117615


QueryHistory – 117458.51


UpdateWorkItem – 2184


Get_WorkItem – 2184


c.       Successful 2nd build (17 edits, 4 deletes, 3 adds) –


Time in Task – 14250


QueryLabel – 2005


AnalyzeChangeset – 3177


QueryHistory – 3127.65


UpdateWorkItem – 7513


Get_WorkItem – 7512


Learning


·         AnalyzeChangesets() function is the most expensive function call. Analyzing further, most of the cost is in QueryHistory(). Moreover QueryHistory is getting called once per file making cumulative cost high.


o        Why is QueryHistory() call expensive? Because it uses “yield” construct to give better response time in UI. Please refer the documentation for more details.


·         If the number of files is less, the performance of task is limited by cost of QueryLabel(). Again this is dependent of the number of labels that exist on AT


Machine Details 



  •  Client/BM on the same machine with configuration @ 2.79 GHz, 512 MB RAM
  •  AT configuration @ 3 GHz, 1 GB RAM

  


Comments (0)