A popular software development pattern seems to be:

Thrash out the logic and algorithms in Python.
Profile to find out where the slow bits are.
Replace those with C.
Ship code that is the best trade-off between high-level and speedy.

I say popular simply because I've seen people talk about it as being a great idea.
But are there any large projects that have actually used this method? Preferably Free software projects so I can have a look and see how they did it - and maybe learn some best practices.
I also thought that way when I started using Python
I've done step 3 twice (that I can recall) in 12 years. Not often enough to call it a design pattern. Usually it's enough to wrap an existing C library. Usually someone else has already written the wrapper.
Best practice for the Python-then-profile-then-C design pattern?