Sunday, May 24, 2009

Developing on Atom CPU

This weekend I tried to sum what are limitations to work on a low spec machine (for today's standard) as a developer on NaroCAD. So I tried to work on a netbook.

Netbooks have mostly this specifications:
CPU between 900 MHz up to Atom 1.6GHz
RAM 512M or 1024M
Screen resolution: 800x480 or 1024x600
Integrated Intel video card
Windows XP SP2 or SP3
Most of them have enough disk space.

It is enough to develop on NaroCAD?
For me the biggest limitations even having the high end of this specifications, I barely can say yes. The biggest limitations were: screen resolution and memory. With 512 RAM you can barely start NaroCAD, so is hard to think you can start an IDE to it. Also, this memory supposedly is not only NaroCAD, even you are either a user or developer. You may need a browser or a PDF reader to read the specifications you want to fill in by designing them in NaroCAD.

What are quick fix solutions:
- if you have any antivirus, stop at least background file scanning. If you want to keep anti-phishing module enable, do it, but not more! Elsewhere you will see that at any operation your maching will work too slow without a proper reason
- stop any program you have in memory that seems useless to you. Do you see a tool that increase brightness of your screen with one click? Stop it, you can do it using your laptop keys. The battery tool? You have also a good XP one... etc.
- when you develop, you can develop using the full-screen mode. SharpDevelop have it. You will be able in this way to see much more text and to have a bigger context to see it. Or even better, if you have from your older PC, a display, use as a second display. It will save to you a lot of headache and lot of scrolling. Also, you will need an USB mouse to attach to that laptop, using the small touchpad may be troublesome
- if you have a SSD limited drive, XP have the possibility to compress folders, so you may do this: go to folder->right click->Properties->General Tab->Advanced->Compress content to save disk space. This will slow things much less than you expect. The full sized wrappers (even you cannot compile them on your machine) if they are expanded they should occupy 2GB on your disk, but they will occupy in fact 1.1G. Also, if you will compile only using NaroLinker, the space requirement of wrappers will be around 1G expanded, so only 500M (on disk).

The IDEs that are free and work if you are price sensitive (considering that you develop on an netbook, you may be one) works great. If you have an Atom CPU, which have the ability to run better two processes, I recommend Visual Studio C# Express which do background compiling, and will do it a bit faster.

My personal preference is SharpDevelop which also run well, but will not have all smoothness of Visual Studio. SharpDevelop have also integrated the TurtoiseSVN tools, unit testing, profiler, which makes it feature wise much closer to Professional editions than Express one.

What you cannot do on NaroCAD development on that machine at all:
- you cannot compile full sized wrapper. The good think is that NaroCAD project provides them in SVN
- you should buy still a 2GB memory module. It should cost you 10% of price of the laptop, but at least will bring to you bit smoother experience in almost any applications, not only in NaroCAD. If you will have 2GB of memory, you can at least build using NaroLinker tool the C++ wrappers. It should take a night of compiling, but at least it will do it.

What I was really pleased to see:
- without an antivirus Atom CPU is pretty fast, or to name it better, enough fast
- the integrated video card was enough fast also, and it gives really no visual artifacts on OpenGL, which is for me at least impressive
- your laptop machine is really very quiet, low power consumption and you can use NaroCAD smoothly (at least with 1G of RAM)


fga said...

These small netboots run linux pretty well too, I have ran Ubuntu on an Acer aspire one and it ran very well. I didn't seem to be in much of a memory crunch using everyday applications, though I have never used NaroCAD before and don't know how much memory it uses. Keep up the good work, the project looks promising

ciplogic said...

Yes, Linux have smaller footprint than Windows. But adding an IDE, the .NET, and NaroCAD itself which rely on OpenCascade, OpenGL and .NET, the memory footprint increases a bit. There is underway work to make it on Mono, but I don't have a short term solution for now.