ASP.NET News from Blogger: Rico Marianis Performance Tidbits   Get the feed of: Rico Marianis Performance Tidbits

Total News: 180

A little 64 bit follow-up

I recently wrote a pair of at least slightly controversial articles about 64-bit vs. 32-bit applications and the performance costs associated with going to 64 bit. They are here and here. Some people ...

A little 64 bit follow-up

I recently wrote a pair of at least slightly controversial articles about 64-bit vs. 32-bit applications and the performance costs associated with going to 64 bit. They are here and here. Some people ...

64-bit Visual Studio -- the "pro 64" argument

[This article is in response to an earlier posting which you can find here]I’ve been reading some of the commentary on my post about 64-bit Visual Studio which is really about 64-bit vs. 32-bit ...

Revisiting 64-bit-ness in Visual Studio and elsewhere

[Due to popular interest I also wrote a piece that is “pro” 64 bits here] The topic of 64-bit Visual Studio came up again in a tweet and, as usual, I held my ground on why it is the way it is.  Pretty...

Revisiting 64-bit-ness in Visual Studio and elsewhere

The topic of 64-bit Visual Studio came up again in a tweet and, as usual, I held my ground on why it is the way it is.  Pretty predictable.  But it’s not really possible to answer ques...

Pit of Success for Organizations

Many years ago I coined the phrase “Pit of Success” for software. People had used that turn of phrase before to mean landing in a situation where their own success was awful, but that&rsqu...

Pit of Success for Organizations

Many years ago I coined the phrase “Pit of Success” for software. People had used that turn of phrase before to mean landing in a situation where their own success was awful, but that’s not how I mean...

Supporting Women in Computer Science (Part 2)

Last night I wrote about my new scholarship (previous post) Today I have something to ask. I know my subscribers include tons of competent software engineers. I have a request/challenge for you. Espec...

Supporting Women in Computer Science (Part 2)

Last night I wrote about my new scholarship (previous post) Today I have something to ask. I know my subscribers include tons of competent software engineers. I have a request/challenge for you. Espec...

The many types of asserts and their meaning, and dealing with assert bugs

A good way to get a quick rise out of me is to tell me how you’re going to just delete some noisy assert in your code, or worse still, that some assert is “ignorable” – in fact...

A brief excerpt from mail to my team today

"I couldn’t possibly list [...] all the crucial changes we made to make [?#‎MicrosoftEdge?] possible. Dozens of big initiatives and literally thousands of smaller improvements (and removals...

What you really need to know about regular expressions before using them

  Approach #1 -- Non-deterministic Finite Automaton This approach first converts the regular expression into a non-deterministic state machine, which is just like a state machine expect you have...

What you really need to know about regular expressions before using them

If you want to use regular expressions in production code the most important thing you must know about how these things are matched is that there are three general approaches to doing it.  They have d...

Shortest Proof of Elegance

About two months ago I had an extraordinary opportunity to talk to some Great People in the context of creating a computer science program at Reed College.  These days being in a roomful of peopl...

Holistic approaches to performance analysis

About 6 weeks ago I prepared a talk on some of my experiences addressing performance problems in the context of Microsoft Edge.  I ended up not actually giving that talk but I thought it would ma...

"Linq to Memory": another old idea

One of my readers asked if I had any particular plans around memory density for Visual Studio to go with my last posting and indeed I had one thought that I considered a very powerful way to crea...

Low Level Considerations for VS of the Future (an old memo)

I wrote this a long time ago.  It's very interesting to me how applicable this is today.  And how it is not very specific to Visual Studio at all... Low Level Considerations for VS of the Fu...

A systematic approach to finding performance regressions using overweight analysis

I have been using this approach to do systematic analysis of performance regressions for several years now. I came up with it while looking at some tricky problems in Internet Explorer about three yea...

Use Symbol Filtering to get symbols you care about from your server instead of getting the kitchen sink

One of the most annoying things about working with performance traces is that they include information about everything in the system.  That's also one of the great things. However, most of the&n...

Anybody want a peanut?

I wrote a message much like the below yesterday and I kept cracking up once I had started.  And nobody around me had the relevant context to understand why I thought it was so funny.  I&rsqu...

Example of a transform for unit testing something tricky

There were some requests for an example of my unit testing strategy so made up this fragment and included some things that would make your testing annoying. This is the initial fragment.&nbs...

How to make ANY code in ANY system unit-test-friendly

There are lots of pieces of code that are embedded in places that make it very hard to test.  Sometimes these bits are essential to the correct operation of your program and could have complex st...

A Personal History of Microcomputing (Part 2)

I could spend a long time writing about programming the PET and it’s various entry points, and I’m likely going to spend on the CBM family of computers because that’s what I know, bu...

A Personal History of Microcomputing (Part 1)

I started writing this several years ago, never finished it...  stumbled across it just now and I thought maybe if I post this I'd be motivated to write more. This is of course just my perspectiv...

My Universal Performance Problem Advice

I get asked for recommendations a lot.  Most of the time I have little to no data when asked to perform this sort of divination.  But as it turns out I have this ready-to-go universal advice...

Using telemetry to reveal, prevent, and act on real problems in the wild

I hesitate to bring this up but there’s no sense hiding it.  For the last year I’ve been the development lead for the Internet Explorer Performance Team.  We’ve done some r...

Career advice part 2

I wrote some career advice a few weeks ago now, those few points are largely distilled from talks I’ve given here at Microsoft over the years and those are in turn distilled from the various men...

Non-Properties of floating point numbers

I recently received a customer question that boiled down to the oft-encountered binary floating point inexact representation issue.  They were rather troubled that basic identities normal to numb...

Career advice for anyone who cares to listen :)

At the Grace Hopper Celebration of Women in Computing there are many attendees offering and looking for good advice.  Dear friends among them.  I read some, “inarticulate” respon...

Performance Quiz #14: Memory Locality etc. Bonus Round!

Thanks to some careful readers I discovered why the shuffling factors discussed in my previous blog entry were so strange.  The rand() method I was using only returns numbers between 0 and MAX_RA...

Performance Quiz #14: Memory Locality, x64 vs. x86, Alignment, and Density

   It's been a very long time since I did a performance quiz and so it's only right that this one covers a lot of ground.  Before I take even one step forward I want you to know that I ...

Wow I love git-tf!

I switched to git about 3 years ago because the portability was so great.  Moving work between computers couldn't be easier.  But when I did that I lost all my TFS history from TFS express I...

You don't have to write it (all) first...

It seems like I get pretty much the same questions all the time.  A common one is, "Rico can you tell me if it would be ok for me to use <technology> to solve this <problem>?  H...

To preload or not to preload...

Q: My application starts slowly, I want to preload it to avoid that problem.   Should I be worried? A: Well, in short, there are lots of concerns.  Preloading things you may or may not ...

Amazing Grace Hopper on Nanoseconds

Just found this: http://highscalability.com/blog/2012/3/1/grace-hopper-to-programmers-mind-your-nanoseconds.html Worth it just to hear Grace. I think I'll get some microseconds to hang around people's...

Software Performance for Metro Style Applications

With the Windows Consumer Preview out the door, I thought it would be interesting to write something about creating great performing Windows applications.  I hope to have a lot more to say about ...

Coding in Marble (Part 2)

I thought I'd follow up on my last technical post with a few extra details about the Marble pattern, despite the name of the article I mostly talked about the Wood pattern.  I guess perhaps this ...

Coding in Marble

I wish I could remember where I first read it because perhaps it deserves attribution.  But many years ago I read about the two world views of physicists and they resonated with me.  One wor...

Improving .NET Application Performance and Scalability

This series can still be found here: http://msdn.microsoft.com/en-us/library/ff649152.aspx While some of the content is stale since it refers specifically to .NET 2.0 I think all of the conceptual con...

Performance and Design Guidelines for Data Access Layers

Many problems you will face are actually the building data access layer, sometimes thinly disguised, sometimes in your face; it’s one of the broad patterns that you see in computer science &ndas...

Performance Guidelines for Properties

I can’t say I’ve asked the framework guidelines folks about this but I’m fairly sure there would be a lot of agreement from the guidelines gurus; so in the spirit of approximately co...

Less Loosely Coupled Than Meets The Eye

I don’t know that it is possible to write anything like a unitary software system in a way that is truly loosely coupled.   It’s not that you can’t make boxes and line...

Debugging Multi-threaded Applications: Some Tidbits

I was lamenting that we haven't really done terribly much to make multi-threaded debugging easier in say the last decade and I was fortunate enough to be able to have a conversation with Brain Crawfor...

A few words about Micro-Benchmarks

Its been a long time since I included my this discussion is only approximately correct disclaimer so Ill just preface it here.  In the interest of space and clarity, this discussion is only appro...

My History of Visual Studio (Epilog)

Visual Studio 2010 Launched on Monday.  Wow!  Its HUGE.  A major round of congratulations are in order for everyone involved, not just on the Visual Studio team but also on the Framewor...

VSX Keynote posted

Just a quick plug, if you missed the VSX conference you can see it all online on Channel 9.  Some great talks including my keynote speech on VS Futures.  ...

VS2010 Beta2 performance and other issues

Just a few words of encouragement today:  I can't emphasize enough how valueable your feedback is to us at this point, no matter how hard we try we simply cannot duplicate the diversity that is t...

Inside Visual Studio Beta 2 - Performance and Reliability

After my keynote speech yesterday at the Development Tools Ecosystem Summit Charles Torre caught up with me and we made this video.  Hot off the presses: Rico Mariani: Inside Visual Stu...

My History of Visual Studio (Part 10, final)

[All the other Parts: History of Visual Studio]  [Visit the Microsoft Visual Studio 2010 and .NET Framework 4 Beta web site for the latest info] Visual Studio 2008 Winds Down, Visual Studio 2010 ...

My History of Visual Studio (Part 9)

[All the other Parts: History of Visual Studio]  In the last posting I talked about the Whidbey release, VS2005, but I feel like I left out two really important aspects so Id like to start this ...

View Other bloggers