C++ Project Crisis..

Im a newbie programmer who joined his first company just passed out of college, then after 1 year I learnt design patterns, looked at some open source CAD program source codes first, then started on our company inspection software which is almost like a CAD software but with too many other complex structures and semantics etc.

Ambitiously learnt openGL too and then started on my project and made it into many classes used patterns, and some ideas of my own, and reached the final stage. The front end uses .NET and my code is purely native. But all of them are in the same project making it a CLR C++ project. MY opengl code is a separate DLL (I made it ) More over software communicates to inspection machine through COMM port and that code is also separated in a DLL.. Now its 2.5 years since I joined the company, its almost a year since I started this project.

Finally we have some features to automate things. So I had to serialize many classes. After adding boost serialization the compile time is 9.5 minutes. Before it was 2 mins 20 secs.. Even then compile time was high... It has some 220 - 250 files .h and .cpp and only 8000-10000 lines of code.. I not an expert with experience... Its killing me.. Im helpless.. I dont want this project to die.. Give me some tips.. Is it possible for a guy with no experience to do such a project ? That too only 2 guys working on it. I do most of the work.. the other guy does all of the frontend with .NET.. when companies like adobe, autodesk create software with a huge team with experienced people...

Software features, CAD graphics with same pan, zoom, snap points, intersection points, workspaces and good UI which reflects the shapes, selection rectangles, undo/redo... not 3d.. but some 3d features like cloud points are there..

Moreover its multithreaded, the graphics run on a separate thread, where all the OGL code is run.. I use SetEvent and Waitforsingleobject functions in it to render when needed. I use STL also.. maps and lists. The one year time includes learning time also. I dont want to lose.. please help me experts.. recently i started using SVN.. before I was not using any source control also.. Im improving myself.. but still scared if there is any fundamental mistake in this project.
LVL 2
AnniyanAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

AnniyanAuthor Commented:
Also has a rich UI with toolbars, many like the ones in photoshop, with many tools, features, 3 OpenGL windows for different purposes.. all of them pan/zoom drawable, selectable..
0
AnniyanAuthor Commented:
Im explaining all this.. so that you get a better idea about the software and someone might help in telling what I may be lacking in
0
itsmeandnobodyelseCommented:
if compilation turns slow, it mostly has to do with environment or hardware/system software rather than with the C++ code. Did you install a new antivirus scanner? If any new object file was scanned while building, the performance losses can be tremendous. Did you check the eventvwr for errors? Some years ago, I had a disc producing about 1000 errors a minute. If using CLR you need to make sure that none of the software components for build was loaded from a remote server. E. g. the boost must be installed localy at each workstation *and must not* get any parts from the Internet. You easily could check that by disconnecting from net while building. Unfortunately there could be many other reasons as well, e. g. too less disc space or highly fragemented discs, unsufficient memory or virtual space, VISTA operation system, a mis-configured firewall, a service which takes most of the CPU, and, and, ...

Try to build on a new machine where only the minimal things were installed.  
0
Microsoft Azure 2017

Azure has a changed a lot since it was originally introduce by adding new services and features. Do you know everything you need to about Azure? This course will teach you about the Azure App Service, monitoring and application insights, DevOps, and Team Services.

waysideCommented:
Are you using pre-compiled headers?
0
AnniyanAuthor Commented:
thank you very much for your comments itsmeandnobodyelse.... Im aware of all these things already.. I stop all other extra processes... Stop all unwanted services too in XP. I have 1GB RAM in a Core 2 Duo with 965 Motherboard.. and a extra graphics card too.. XP is in top notch for sure.. I do development on the local computer only...

@wayside yes of course i do use it..  thanks :)

I will be happy if someone links me to some sources on how to organise files in big projects and manage the compile time too.. May be separate certain more parts as DLL s... I already read the article on gamedev.net about organizing files.
0
waysideCommented:
Get the Sysinternals process monitor (www.sysinternals.com) and see what is happening on the box when you do a build. Are the compiler processes max'ing out the cpu?


0
AnniyanAuthor Commented:
Yes I forgot to add.. the system becomes very slow when compiling.. and I should say all this happens only after I added the serialization library boost. When I went to task manager it showed almost 500+ MB used for compiler process.

Just because of adding one library will things change soo much ?
0
AnniyanAuthor Commented:
Well I worked a way around. I just separated the internal classes that don't belong to UI as a separate DLL. Now atleast I don't have to wait till everything compiles, its improved with this way.

My Heartfelt Thanks to everyone for Putting efforts to help me.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Programming Theory

From novice to tech pro — start learning today.