Performancebury Tales
Sisyphus


      Performance
           is
          hard
Sisyphus


             You
           cannot
            stop
Sisyphus



           ..but..
Sisyphus


             It’s
            NOT
           useless
Samsara
Samsara
Non-synchronized access to shared
• System.Collections.Hashtable
• System.Collections.Generic.Dictionary<>
• Syste...
Samsara
The Noble Eightfold Path
• Do not forget to lock shared hastables!
• Do not forget to lock shared hastables!
• Do ...
Lernaean Hydra
Lernaean Hydra



System.Diagnostics.Debug
The 300 Spartans
The 300 Spartans
Outbound connections
Narcissus
Narcissus
Compiled expressions




Creation method             Time, ms (1 mln iterations)
Activator.CreateInstance    150...
Narcissus
Enum.ToString() can be 85% faster




How to implement QuickToString:
http://der-waldgeist.blogspot.com/2010/08/...
Ask me!

• Alexey Nedilko
• alexey_nedilko@epam.com
• skype:alexey.nedilko
Upcoming SlideShare
Loading in...5
×

Performancebury Tales

630

Published on

My presentation at DevCamp 2010 about performance in .NET Framework

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
630
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Performancebury Tales

  1. 1. Performancebury Tales
  2. 2. Sisyphus Performance is hard
  3. 3. Sisyphus You cannot stop
  4. 4. Sisyphus ..but..
  5. 5. Sisyphus It’s NOT useless
  6. 6. Samsara
  7. 7. Samsara Non-synchronized access to shared • System.Collections.Hashtable • System.Collections.Generic.Dictionary<> • System.Collections.Generic.Hashset<>
  8. 8. Samsara The Noble Eightfold Path • Do not forget to lock shared hastables! • Do not forget to lock shared hastables! • Do not forget to lock shared hastables! • Do not forget to lock shared hastables! • Do not forget to lock shared hastables! • Do not forget to lock shared hastables! • Do not forget to lock shared hastables! • Do not forget to lock shared hastables!
  9. 9. Lernaean Hydra
  10. 10. Lernaean Hydra System.Diagnostics.Debug
  11. 11. The 300 Spartans
  12. 12. The 300 Spartans Outbound connections
  13. 13. Narcissus
  14. 14. Narcissus Compiled expressions Creation method Time, ms (1 mln iterations) Activator.CreateInstance 1508 Compiled Expression 33 Constructor 25
  15. 15. Narcissus Enum.ToString() can be 85% faster How to implement QuickToString: http://der-waldgeist.blogspot.com/2010/08/3-enumtostring.html
  16. 16. Ask me! • Alexey Nedilko • alexey_nedilko@epam.com • skype:alexey.nedilko
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×