All blogs / Performance / optimization
Rico Mariani's Performance Tidbits
learn.microsoft.com/en-us/archive/blogs/ricom
Implying no warranties and conferring no rights: "AS IS" since 1988
Performance / optimizationC# / .NETDev tools / editors / IDEsMicrosoft blogsMSDN archive
- Posts
- 257 from 1 Dec 2003 to 25 Sep 2024
- Posting
- archived, read-only
- Kind
- personal blog
- Feed
- https://learn.microsoft.com/en-us/archive/blogs/ricom/feed.xml
2024 1
2017 3
2016 2
2015 11
- Revisiting 64-bit-ness in Visual Studio and elsewhere
- Pit of Success for Organizations
- Performance and Design Guidelines for Data Access Layers
- Improving .NET Application Performance and Scalability
- Ngen or not? The rules haven't changed very much since 2004
- Coding in Marble
- Measuring IE Performance
- Coding in Marble (Part 2)
- Some nice performance features in Visual Studio 11
- On adopting high end perf tools to study micro-architectural phenomena
- To preload or not to preload...
2014 16
- You don't have to write it (all) first...
- Wow I love git-tf!
- Performance Quiz #14: Memory Locality, x64 vs. x86, Alignment, and Density
- Performance Quiz #14: Memory Locality etc. Bonus Round!
- Career advice for anyone who cares to listen :)
- Non-Properties of floating point numbers
- Using telemetry to reveal, prevent, and act on real problems in the wild
- Career advice part 2
- A Personal History of Microcomputing (Part 2)
- How to make ANY code in ANY system unit-test-friendly
- Example of a transform for unit testing something tricky
- Anybody want a peanut?
- Use Symbol Filtering to get symbols you care about from your server instead of getting the kitchen sink
- Low Level Considerations for VS of the Future (an old memo)
- Holistic approaches to performance analysis
- "Linq to Memory": another old idea
2012 7
- Shortest Proof of Elegance
- What you really need to know about regular expressions before using them
- If working on Microsoft Edge with me is something you could get excited about then read on
- A brief excerpt from mail to my team today
- The many types of asserts and their meaning, and dealing with assert bugs
- Rico Mariani Women in Computer Science Scholarship
- Supporting Women in Computer Science (Part 2)
2011 2
2010 7
2009 16
- VSX Keynote posted
- VS2010 Beta2 performance and other issues
- Inside Visual Studio Beta 2 - Performance and Reliability
- My History of Visual Studio (Part 8)
- My History of Visual Studio (Part 7)
- My History of Visual Studio (Part 6)
- My History of Visual Studio (Part 5)
- My History of Visual Studio (Part 2)
- My History of Visual Studio (Part 1)
- The Visual Studio Documentary on Channel 9
- Development Tools Ecosystem Summit
- I'm not 30 yet, I'm only 0x2d :)
- Visual Studio 2010 Performance Part 3: A Technical Update
- CLR Performance Questionnaire
- Visual Studio 10 -- Your Performance Feedback plus Beta 1
- Visual Studio -- working on performance
2008 19
- Visual Studio Today, Tomorrow and Beyond
- Visual Studio Futures -- Extensibility Video
- The Visual Studio Tech Roadmap -- Starring Visual Studio 2010
- Patterns and Practices Performance "PAG"
- Performance by Design at PDC2008!
- Is Performance a "functional" requirement?
- Linq Compiled Queries Q & A
- Hard and Soft Mode Debugging or The Woes of Soft Mode
- Celebrating Twenty with a Pint
- Rebecca Norlander on Behind the Code
- Visual Studio Extenders Conference
- My Last Words to Bill
- Just another day in the perf lab
- Shutdown Is No Time For Spring Cleaning
- Cycles in Computer Science, or Am I Ancient?
- Sara Ford goes retro
- Computer Measurement Group offers past papers to the public!
- Performance Quiz #13 -- Linq to SQL compiled query cost -- solution
- Performance Quiz #13 -- Linq to SQL compiled queries cost
2007 31
- Rico's Instrumentation Aphorisms
- Linq to SQL Compiled Queries are thread-safe
- Visual Studio 2008 and .NET 3.5 ship today
- Performance Threat Models
- File Open Performance -- Beware of 'Extensions'
- Some things to visit
- Gamefest 2007: The Costs of Managed Code: The Avoidable and the Unavoidable
- Performance Improvements in Visual Studio 2008
- Emma Williams on Channel 9
- Performance Testing Guidance for Web Applications
- Behind the Code in August
- DLinq (Linq to SQL) Performance (Part 5)
- News About Me
- DLinq (Linq to SQL) Performance (Part 4)
- DLinq (Linq to SQL) Performance (Part 3)
- Caching Redux
- DLinq (Linq to SQL) Performance (Part 1)
- My time in the spotlight is over :)
- Partly sunny, chance of showers, bring an umbrella
- Everything I ever needed to know about programming I learned in Gamergarten
- Krzysztof Cwalina on Framework Design
- Synchronization Complexity in the .NET Framework, Part 2
- Behind The Code
- Synchronization Complexity in the .NET Framework
- .NET Framework Allocation Complexity Graph
- Performance Quiz #12 -- The Cost of a Good Hash -- Solution
- Performance Quiz #12 -- The Cost of a Good Hash -- Some Help
- Performance Quiz #12 -- The Cost of a Good Hash
- Good Advice Scorned
- Five Things About Me
- Memory leaks 101: Objects anchored by event generators
2006 38
- Costs, Modelling, and Managing Risk
- The True Cost of .NET Exceptions -- Solution
- The True Cost of .NET Exceptions
- Performance Quiz #11: Ten Questions on Value-Based Programming : Solution
- NameValueCollection vs. Hashtable performance considerations
- Performance Quiz #11: Ten Questions on Value-Based Programming
- My 18th anniversary at MS
- Introducing Performance Console
- Rico's thought for today
- A nice little article on the fallacy of premature optimization
- Performance Signatures: A Qualitative Approach to Dependency Guidance
- Throughput and Latency Considerations: Errata
- Throughput and Latency Considerations
- Glass Houses
- quiz10.cs
- Performance Quiz #10 -- Thread local storage -- Solution
- System.Diagnostics.Stopwatch -- always remeber to use Reset
- Should you move to a 64 bit platform?
- Posting suggestions for the future
- Cost of array bounds checking -- one experiment
- MSDNWiki beta is live!
- Performance Quiz #10 -- Thread local storage
- Using ReaderWriterLock part 3 (last in this set)
- Using ReaderWriterLock part 2
- Using ReaderWriterLock -- are you getting what you think you're getting?
- Putting your synchronization at the correct level -- solution
- Putting your synchronization at the correct level
- Simplify your locking strategy -- simpler is better
- Locking -- Isolation -- Unit of Work -- Performance -- Solution
- Locking -- Isolation -- Unit of Work -- Performance
- First rate posting on mem analysis
- Same Resource, Same Lock or else locking won't give you the protection you need
- Performance Quiz #9 : IList<T> List and array speed
- Winning performance on Winforms from Milena
- I guess he's worth reading now :)
- Constant Soft Faults per second -- another old Sidewalk Story
- Unmanaged Memory Fragmentation -- an old story
- Buckle up: it’s going to be a bumpy ride
2005 45
- Amdahl's Law : Big Speedups From Bigger Fractions
- Exciting changes for me
- Performance Quiz #8 -- The problems with parsing -- Part 4
- Performance Quiz #8 -- The problems with parsing -- Part 2
- Performance Quiz #8 -- The problems with parsing -- Part 1
- Wow, we did it!
- The Performance War -- Win it 5% at a time
- Profiling API
- Performance Lifecycle
- Shared Bytes vs. Private Bytes
- My Second PDC05 Talk
- My First PDC05 Talk
- CLR Performance Tips Chat Transcript
- What I'll be doing at the PDC : Video
- Performance Quiz #7 -- Generics Improvements and Costs
- Mission (almost) accomplished
- LogDump: CLRProfiler Log analysis tool
- logdump.cs
- Private Bytes Performance Counter -- Beware!
- Join me at PDC!
- String Suggestions for Speed and Security
- Reflection : Dodge Common Performance Pitfalls to Craft Speedy Applications
- Narrowing Down Performance Problems in Managed Code
- How To Do A Good Performance Investigation
- Performance Quiz #6 -- Conclusion, Studying the Space
- Performance Quiz #6 -- Looking at the sixth cut
- Performance Quiz #6 -- Optimizing the Managed Version
- Performance Quiz #6 -- The fifth cut goes foul!
- Performance Quiz #6 -- Looking at the fourth cut
- Performance Quiz #6 -- Looking at the third cut
- Performance Quiz #6 -- Looking at the second cut
- Performance Quiz #6 -- Looking at the first cut
- Performance Quiz #6 -- Chinese/English Dictionary reader
- Three techniques for tracking down memory leaks due to undisposed objects
- Fat Free Bytes? Not here!
- Some new videos on Channel 9 (including one of me)
- Giving your customers a good deal
- I'll be in an MSDN Chat session tomorrow
- Class Specific Comments Plus Index of Conceptual Performance Content
- Designing .NET Class Libraries: CLR Performance Tips
- Common Sources of Processor Performance Penalties: Five Issues
- Qualitative Code Differences in Managed Code
- Collections too slow? When to write your own basic types
- Personal emails
- Performance Quiz #5: The performance cost of the garbage collector
2004 48
- Top Ten reasons you should subscribe to my blog
- Tracking down managed memory leaks (how to find a GC leak)
- When to call GC.Collect()
- Tidbits on video
- A performance tidbits reference
- Performance planning for Risk Management
- Six Questions about Generics and Performance
- "Generic" advice on using language features in library
- Tracking changes over time
- Performance Tidbits
- Performance Quiz #4 -- Of Sets and Sundry -- Solution
- Performance Quiz #4 -- Of Sets and Sundry
- Personal emails
- csc default options change (use /o+ now)
- When to create exception objects
- It's a feedback time of year
- foreach and performance rules
- Performance Quiz #3 -- Solution
- Performance Quiz #3
- Optimistic vs. Pessimistic Locking consequences
- Wow, someone was listening :)
- Of Strings and Services
- Engineering is a quantitative discipline
- Two quick hrefs
- A few questions and answers about using IDisposable
- Some thoughts/advice about databases and caching
- Improving .NET Application Performance and Scalability PDF format available
- [MethodImpl(MethodImplOptions.Synchronized)] promised followup
- MethodImplOptions.Synchronized
- Cache Invalidation and Database dependency?
- Enumerating over arrays with for vs. foreach
- Improving .NET Application Performance and Scalability
- Performance Planning
- Shipping Software
- What I do in my spare time
- Performance Quiz #2
- My mom doesn't care about space
- Performance Quiz #1 (of a series?)
- He will triumph who knows when to wrap and when not to
- Sometimes it's all in the numbers
- (#ifdef DEBUG)++
- Predictable Payment Per Procedure
- Bad Analysis Worse Than None
- Some Maxims
- A like-minded performance person
- Caching Implies Policy
- Some Thoughts About Inlining
- Reusable code vs. Performant code
2003 11
- Exception Cost: When to throw and when not to
- More StringBuilder advice
- Designing for Performance
- Another bad lock pattern
- Mid-life crisis
- My new home
- Locality of reference and performance
- Two things to avoid for better memory usage
- Good talk on performance culture
- Concatenating with StringBuilders vs. Strings
- Loop unrolling for speed