Perf benchmark comparison between TFS 2010 and TFS 2008

We've got some questions from customers asking about the perf improvement TFS 2010. So I want to share some of our perf testing result with you here.

Across a “normal” mix of operations, we see about a 25-30% improvement in overall performance. This is the throughput comparison result for 4 load run configs:

TFS 2010 TFS 2008 Delta
1 92 78.9 17%
2 180 120 50%
3 476 346 38%
4 730 572 28%

There are 79 perf benchmark tests that existed in both TFS 2008 and TFS 2010 and our testing shows that almost 50% (37 out of 79) of them improved 25% or more in TFS 2010. This is the detailed perf result comparison for these 74 perf scenarios:

Pri Scenario TFS 2008 TFS 2010 Delta 
2 VC: Command Line - Destroy 1 item [135397] 9.99 0.71 93%
1 Team Explorer: Connect to TFS - 1st time [31052] 1.35 0.25 81%
2 VC: UI - Open source-controlled sol'n (cold) [31116] 4.79 0.91 81%
2 VC: UI - VS startup delta with SCC Explorer (warm) [53918] 2.18 0.48 78%
1 VC: UI - Delete [33660] 2.27 0.56 76%
1 Team Explorer: Startup - warm [31058] 0.66 0.18 73%
2 VC: UI - Rename [33661] 0.99 0.28 71%
1 VC: Command Line - Diff local versus server [31108] 0.97 0.32 67%
1 VC: Command Line - Checkout single file [31105] 0.75 0.28 63%
2 Project Administration: View members of a TFS Project Group [31085] 0.63 0.24 62%
2 VC: UI - Label [33654] 0.37 0.14 61%
2 Office IntegratIon: Excel - Export 500 rows to Excel [31073] 9.73 3.80 61%
1 VC: Command Line - Get [31102] 0.97 0.38 61%
1 Office Integration: Excel - Publish a change to 1 field [31077] 5.29 2.26 57%
1 Office Integration: Project - Publish a change to 5 items [31066] 1.20 0.53 56%
1 Office Integration: Excel - Publish a change to 5 items [31078] 1.84 0.83 55%
1 Team Explorer: Startup - cold [31055] 3.61 1.79 51%
2 VC: UI - Auto checkout [31115] 0.06 0.03 47%
1 Office Integration: Excel - Refresh 10 changed items out of 100 rows [31074] 1.58 0.84 47%
2 VC: UI - Undelete [33659] 1.03 0.56 46%
2 VC: Command Line - Destroy 10k items [135401] 7.78 4.28 45%
2 VC: UI - Navigate SCC Explorer (cold) [31100] 0.13 0.08 42%
1 Project Administration: Create a Team Project using PCW [31053] 168.05 98.78 41%
1 Office Integration: Project - Refresh 10 changed items out of 100 rows [31065] 1.72 1.03 40%
2 VC: Command Line - Checkin 12 files [31107] 1.01 0.60 40%
1 VC: UI - Get (earlier version) [31097] 0.48 0.30 38%
2 VC: UI - Get (latest) [31117] 3.51 2.20 37%
1 VC: UI - Open source-controlled sol'n (warm) [31095] 0.72 0.46 36%
2 Project Administration: View SCC settings for a Team Project [31087] 0.20 0.13 36%
2 Office Integration: Project - Publish a change to 1 field [31069] 6.36 4.12 35%
2 Office Integration: Project - Publish 100 new items to TFS [31068] 6.13 4.05 34%
2 VC: UI - Merge [33666] 2.77 1.86 33%
2 VC: UI - Add sol'n to VC [31121] 13.81 9.54 31%
1 Office Integration: Excel - Go down 10 rows [31048] 0.28 0.20 29%
1 WIT: Open a work item [31036] 0.21 0.15 28%
1 VC: UI - Bind [32884] 1.58 1.17 26%
1 VC: UI - VS startup delta with SCC Explorer (cold) [31096] 13.79 10.32 25%
2 Office Integration: Excel - Publish 100 new items to TFS [31369] 5.15 3.91 24%
1 WIT: Save a work item - simple change [31041] 0.10 0.08 23%
2 VC: UI - Diff local versus server [31110] 0.11 0.08 23%
2 WIT: Save a query [31038] 0.07 0.05 22%
2 VC: UI - Undo [33657] 0.56 0.46 19%
2 VC: UI - Checkin 12 files [31112] 0.34 0.29 15%
2 VC: Command Line - Branch [50898] 16.60 14.41 13%
1 VC: UI - Checkin 12 files and resolve one work item [31111] 1.08 0.97 10%
1 VC: Command Line - Merge (Large) [50890] 12.29 11.33 8%
2 WIT: API - Proxy paging 200 workitems by id and rev pairs [235738] 0.10 0.09 7%
2 Project Administration: View classifications for a Team Project [31081] 0.17 0.17 3%
2 VC: UI - Checkout some files [31113] 0.25 0.25 0%
2 WIT: Create a new MSF CMMI work item [31368] 0.18 0.18 -2%
2 VC: UI - Checkout some files with Get Latest On Checkout ON and have latest [139662] 0.24 0.25 -2%
2 WIT: Save a work item with 100k attachment [31037] 0.15 0.16 -4%
2 VC: UI - Checkout some files with Get Latest On Checkout ON and do not have latest [139686] 0.34 0.35 -5%
1 VC: UI - Open from SCC [33662] 56.29 59.41 -6%
2 Office Integration: Excel - Add one column [31072] 0.27 0.29 -6%
2 WIT: Create a new MSF Agile work item [31040] 0.16 0.17 -7%
2 Project Administration: View permissions for a Team Project [31080] 0.38 0.42 -10%
1 Project Administration: Change an alert subscription [31093] 0.07 0.07 -10%
2 WIT: API - Upload 1 attachments, size 1MB [44653] 0.26 0.30 -13%
1 WIT: Run a pre-defined query [31020] 0.44 0.50 -15%
2 VC: UI - Branch [33667] 38.10 43.71 -15%
1 VC: UI - Refresh [31098] 1.31 1.50 -15%
2 WIT: API - OM paging 500 workitems by id and rev pairs [236737] 0.52 0.60 -15%
2 Office Integration: Project - Export 500 rows to Project [31064] 17.37 20.22 -16%
2 WIT: API - Run query with 5000 results [31021] 0.08 0.09 -18%
1 WIT: API - Batch save [44652] 1.08 1.31 -21%
2 Project Administration: View groups for a Team Project [31067] 0.15 0.19 -28%
2 WIT: API - Update many work items [31023] 8.24 10.53 -28%
2 VC: UI - Checkin added sol'n [31114] 27.32 35.32 -29%
1 Build: View build details [31118] 0.35 0.46 -32%
2 WIT: Save MSF CMMI work item [31177] 0.10 0.14 -36%
1 Office Integration: Project - Get 100 work items from picker [31061] 1.89 2.93 -55%
1 Office Integration: Excel - Get 100 work items from picker [31070] 0.17 0.29 -64%
1 Build: View build summary [31103] 0.11 0.19 -80%
2 WIT: Go to last page of query results [31033] 0.05 0.10 -84%
1 WIT: Select a differerent work item in results view [31034] 0.05 0.10 -98%
2 WIT: Save a complex change [31039] 0.11 0.24 -122%
1 VC: UI - History [31099] 0.09 0.34 -273%