PDA

View Full Version : Specs for App Development




chizzer2003
Jan 16, 2012, 09:36 AM
Would the 13 inch MacBook Air with 4GB RAM, 128GB SSD and 1.7GHZ Dual Core Processor be suffient for app development using XCode, or would it be slow and laggy?



robvas
Jan 16, 2012, 09:56 AM
that will be perfect. Belive it or not, some people use a C2D machine with 2GB RAM and a regular hard drive to make apps and they do just fine.

KnightWRX
Jan 16, 2012, 10:41 AM
that will be perfect. Belive it or not, some people use a C2D machine with 2GB RAM and a regular hard drive to make apps and they do just fine.

Believe it or not, we used to run full blown IDEs on Pentiums with 16 MB of RAM.

xStep
Jan 16, 2012, 01:06 PM
Wirelessly posted (Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_5 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8L1 Safari/6533.18.5)

Ditto for Apple //GS with less than 1MB of RAM!

As for Xcode, a machine capable of running Lion with 4GB would be my minimum requirement. My 2GB Core Duo is tight on memory when I leave Sarfari open too long and I can't use newer frameworks in OS X development such as AV Foundation because it is Lion only.

KnightWRX
Jan 16, 2012, 01:14 PM
As for Xcode, a machine capable of running Lion with 4GB would be my minimum requirement.

Uh ? My XCode takes less than 100 MB of RAM with a 5k or so line project opened (small source files between 100-200 lines each) and tons of ressources (of course, not everything is opened).

No really, it's not XCode that's a problem, it's actually very light as far as IDEs go.

robvas
Jan 16, 2012, 02:06 PM
I run Xcode on a 2GB Air and it's fine. Then again, I'm not working a project the size of Microsoft Office but for any iPhone app that's within my ability, it should handle it.

One thing that is nice to have is a big screen so you can lay out the user interfaces for your apps (especially iPad and iPhone Retina display), and see lots of code and logs at once.

This is one of those questions that should just be locked because if you're asking a question like this, you probably haven't spent any time coding or you'd know the answer to already. The Macbook Air is one of the faster machines out there!

Kenndac
Jan 16, 2012, 05:52 PM
Uh ? My XCode takes less than 100 MB of RAM with a 5k or so line project opened (small source files between 100-200 lines each) and tons of ressources (of course, not everything is opened).

No really, it's not XCode that's a problem, it's actually very light as far as IDEs go.

5k lines is nothing. I use Xcode 4 at work for our large projects and it uses multiple GBs of RAM easily on those. Xcode 3 was much lighter - Xcode 4 is an enormous memory hog in comparison.

KnightWRX
Jan 16, 2012, 06:55 PM
5k lines is nothing. I use Xcode 4 at work for our large projects and it uses multiple GBs of RAM easily on those. Xcode 3 was much lighter - Xcode 4 is an enormous memory hog in comparison.

Why do you open all the source files instead of just the ones you're actively working on ? XCode won't load up the entire project into memory, just the files you're actively editing.

Or maybe you're just mistaking on how much RAM XCode is actually using.

Remember guys, we were editing and making these projects in the 90s on computers with paltry amounts of RAM.

seepel
Jan 16, 2012, 10:28 PM
Why do you open all the source files instead of just the ones you're actively working on ? XCode won't load up the entire project into memory, just the files you're actively editing.

Or maybe you're just mistaking on how much RAM XCode is actually using.

Remember guys, we were editing and making these projects in the 90s on computers with paltry amounts of RAM.

I've seen you post about your lightweight XCode before, did you get a special build or something? Mine is using almost 2GB, add on top of that photoshop, Zwaptex, and a handful of web browsers and the requirements go up.

And sure they used to write code without a hard drive, but that doesn't affect my conception of writing software today.

That being said, I have done quite a bit of development on a 2011 11" MBA i7 with 4GB of RAM, and it went pretty smoothly. I don't think I would be comfortable with only 2GB though.

KnightWRX
Jan 17, 2012, 04:04 AM
I've seen you post about your lightweight XCode before, did you get a special build or something?

I always have about 5-6 source files open (never really ever working on more than 2-3 classes at a time really).

I can post a screenshot again, it's been opened all week and is using something like 130 MB of RAM right now.

xStep
Jan 17, 2012, 04:12 AM
Uh ? My XCode takes less than 100 MB of RAM with a 5k or so line project opened (small source files between 100-200 lines each) and tons of ressources (of course, not everything is opened).

No really, it's not XCode that's a problem, it's actually very light as far as IDEs go.

Really, you didn't read my full paragraph. Why do I want at least 4GB? Because I have other things open and that pig Safari is often one of them. It would mean I wouldn't have to restart Safari as often to free up memory.

My rule is more memory is always a good thing to have. Since I've had issues with 2GB, I want to double it. My machine is limited to 2GB. I think we can agree that hitting the drive for more memory (virtual) is a bad thing.

Just opened Xcode 4 (on Snow Leopard running on a Core Duo 32-bit processor) into my CameraTime project. Real memory used was 115MB and 94MB of virtual memory. A compile uses more memory, but doesn't seem to return all of that memory back to a free state. Hmm, a leak maybe. This was a quick test, so I haven't watched the system long enough to say for sure.

Looking at what else is running while Xcode compiles that project, I see three instances of ibtoold taking up 20MB of real memory, three instances of "Interface Builder Cocoa Touch Tool" taking over 30MB each of real memory. They do seem to close them selfs eventually.

So, with several apps running and not knowing how each uses & abuses memory, your better off with more memory.

My requirement stands. And if funds weren't limited, I'd have a new 15" Macbook Pro with 16GB of RAM, a quad core i7 processor, and the fastest & largest SSD I could get.

KnightWRX
Jan 17, 2012, 05:36 AM
Just opened Xcode 4 (on Snow Leopard running on a Core Duo 32-bit processor) into my CameraTime project. Real memory used was 115MB and 94MB of virtual memory.

So you're using 115 MB of memory. Virtual Memory is not swap space here, it's the virtual address space in the kernel that combines all RAM/Register/Swap space into one big address space for userland programs to use without having to know the intricate details of memory management.

People often misuse "Virtual memory" to mean swap, unfortunately a side effect of using Windows for too long which is responsible for this misnomer.

A compile uses more memory, but doesn't seem to return all of that memory back to a free state. Hmm, a leak maybe.

Nope, no leaks, it returned the memory to the inactive sate, not the free state (free memory is wasted memory anyhow). A compile won't use up much memory as all you have running is basically a batch processor (like GNU make) and a compiler/linker invocation and termination one at a time (unless using some kind of parallelism for compilation).

There is such a thing as overspeccing memory. This is from my home server :

Mem: 446640k total, 300412k used, 146228k free, 20k buffers
Swap: 1048572k total, 0k used, 1048572k free, 187116k cached


Yep, too much memory. I have 300 MB used, of which 187 MB is used up the file cache. Basically this box could run with 128 MB of memory and still not be using any of the swap. I just threw every last bit of SDRAM I had in there that was still in a working state, obviously, an overkill move. It's running a RDBMS, a web server, DNS/DHCP, a web proxy (Squid) and shell accounts.

People often forget how much software we had running in these paltry amounts of memory.

BTW, safari 2GB of RAM ? Switch to a better browser. Chome seems much more efficient on RAM usage. Or just close tabs once you're done with them. ;)

----------

One thing that is nice to have is a big screen so you can lay out the user interfaces for your apps (especially iPad and iPhone Retina display), and see lots of code and logs at once.

Yep, the simulator is cramped on the internal screen and obviously, it downscales the retina and iPad displays.

But then again, that's why modern laptops have displayport. ;) (I wish I could afford a 27" 2560x1440 monitor... but my 23" 2048x1156 is the next best thing).

This is one of those questions that should just be locked because if you're asking a question like this, you probably haven't spent any time coding or you'd know the answer to already. The Macbook Air is one of the faster machines out there!

Everyone starts somewhere. No need for to be condescending. However, this is one of those questions that should be stickied if you ask me, it comes back way too often... but then again, most newbie posters don't read the stickies (something easily identified with all the "Where do I start ?" questions we get, even though there's a big "WHERE TO START!" sticky at the top).

robvas
Jan 17, 2012, 07:20 AM
Everyone starts somewhere. No need for to be condescending. However, this is one of those questions that should be stickied if you ask me, it comes back way too often... but then again, most newbie posters don't read the stickies (something easily identified with all the "Where do I start ?" questions we get, even though there's a big "WHERE TO START!" sticky at the top).

Not trying to be condescending at all, I love helping newbies out. But it seems a lot of people are far too worried about their tools and never get any work done. 16GB RAM, huge hard drives, just buy it when you need it.

KnightWRX
Jan 17, 2012, 08:28 AM
Not trying to be condescending at all, I love helping newbies out. But it seems a lot of people are far too worried about their tools and never get any work done. 16GB RAM, huge hard drives, just buy it when you need it.

That I fully agree with. Especially for newbie programmers. Learning about loops, conditionnal statements, operators and even classes (polymorphisms, inheritance, constructions/destructors) doesn't require anything really, we used to do it on a computers much less powerful then even the cheapest netbook out there, with screens with a quarter the resolution if not even less (80x24 is all everyone should ever need right! :D ).

At the end of the day, writing the code isn't all that demanding on hardware. Neither is compiling it. It's running it that could be a problem if your code is going to be something that requires top hardware to run. But really, people writing code for such apps at that level (be it OpenGL code, OpenCL computation, parallelism) know what their needs are and don't need to ask it.

seepel
Jan 17, 2012, 09:09 AM
At any rate, I did a little test, in that I closed Xcode down and restarted it. Started running at about 150MB in memory. I then just simply clicked a few different source files and the memory size increased. In a matter of minutes it jumped to 280MB. If I click the same files over and over it has a small bump, but goes back down. So Xcode is obviously doing some sort of caching. Take from that what you will, my recommendation is to get as much RAM as you can get cheaply. And while 2GB may be enough for some, it might not be enough for all. My MBA almost always uses 3+ GB of memory. And on my iMac that I've had for a week I've seen it oscillating between 4GB-6GB.

xStep
Jan 17, 2012, 02:49 PM
So you're using 115 MB of memory. Virtual Memory is not swap space here, it's the virtual address space in the kernel that combines all RAM/Register/Swap space into one big address space for userland programs to use without having to know the intricate details of memory management.

People often misuse "Virtual memory" to mean swap, unfortunately a side effect of using Windows for too long which is responsible for this misnomer.

D'oh. I should have just said; I think we can agree that using swap is a bad thing.

Virtual memory can include swap, but doesn't on iOS.

I hadn't realized that Microsoft had referred to the swap file as "virtual memory" (http://en.wikipedia.org/wiki/Paging). Interesting.

For those interested, Apple explains VM (http://developer.apple.com/library/mac/#documentation/Performance/Conceptual/ManagingMemory/Articles/AboutMemory.html).

Does anyone have a good link that explains the columns in Activity Monitor?


Nope, no leaks, it returned the memory to the inactive sate, not the free state (free memory is wasted memory anyhow).

I looked at that too, and the inactive state didn't seem to increase as expected. BTW, some real memory was returned immediately, but I can't say it came from Xcode. You can't say I'm not seeing Xcode memory leaks since that takes further analysis. Fortunately, or unfortunately, I have more important things to do than study this further.

Available memory is wasted memory only while not being used. If your computer is off, then it is all (excluding saved to disk) wasted memory. ;)


There is such a thing as overspeccing memory.

Sure, but I'd rather have too much than too little.


BTW, safari 2GB of RAM ? Switch to a better browser.

I don't like the alternatives at the moment, so they are not better for me. For instance, Firefox misses on simple default actions every other native OS X app has. No, I'm not going further off topic to explain that.


As for the OP. Yes, that computer is fine.

KnightWRX
Jan 17, 2012, 06:47 PM
Does anyone have a good link that explains the columns in Activity Monitor?

How about straight from the horse's mouth ;) :

http://support.apple.com/kb/ht1342

xStep
Jan 18, 2012, 02:14 AM
How about straight from the horse's mouth ;) :

http://support.apple.com/kb/ht1342


That only describes the bottom values, not the columns. Also, your link is broken. It is upper case HT1342.

Doing a 'man top' at the command prompt gives some insight.

KnightWRX
Jan 18, 2012, 03:49 AM
That only describes the bottom values, not the columns. Also, your link is broken. It is upper case HT1342.

Link works just fine with the lower case, clear your cache, that's a known bug with Safari and Apple's site. ;)

xStep
Jan 18, 2012, 03:35 PM
Link works just fine with the lower case, clear your cache, that's a known bug with Safari and Apple's site. ;)

Cleared the cache and it worked. The wonders of technology! :(