In my experience, it makes no noticeable differences at all.
And if you are thinking about what happens with the NIB system, this is a compact binary representation of the state of user interface objects. By creating an object programmatically, you save only the time required to download this file and perform very simple parsing. Compare this with the amount of time it takes to initialize and make the first draw of this object (allocating memory for the underlying CALayer objects, drawing them using Quartz2D, and then combining the results together). This time is much longer, and it is exactly the same whether you use NIB or not. If you download a bunch of PNG files to draw your user interface, it will overshadow the time spent on creating controls.
source share