I got a new job recently and have been thrown into the fire to 'get it working' and one of things I did to start learning the code-base is fire up Understand C and look at the call-graph... the previous developer literally named her task functions A1(), A2(), A3(), ... (I thought this sort of thing was urban legend.)
So our .NET code-base has grown & grown and now we are feeling the pain of two-pass compiling.
I just made a very simple tweak to a regex statement in a common assembly and hit build and "watched in horror" as nearly the the entire solution rebuilt.
I'm curious if other people have reached this point and if they took as steps to do something about it.
My first thought was we need to separate the interface from the implementation...
('round in circles we go.)
Once the project becomes large (I think we have about 100 projects now) do most setup their project such that they have "pure interface" assemblies and then implementation assemblies?
Or just accept that the world rebuilds?
It's actually gotten /worse/ over the years - you can't even sleep for anything close to 1 ms anymore (with the calls to timeBeginPeriod(1)/timeEndPeriod(1)).
You get 2 ms. And if you Sleep(2)... you get 3 ms.
Besides being a rant, I am curious if there any genuine reason this API call sucks so hard?
It seems with today's multicore super computers reliably getting service every 1ms ought to be pretty easy to accomplish ><.