but it really depends a lot on the application you're using it for. don't forget that everytime you call a proc, the call itself (and the subsequent return) use some cpu time (approximatly the same amount of time a 'set' statement takes). What this boils down to is that sometimes its more efficient to repeat huge segments of code within procs, instead of making a subproc to call from it. However, such code does not make it easy to maintain, so unless you have a real reason for saving the few microseconds it takes to call a proc, you're better off using as many as needed (just to put things in perspective, my old 233mhz box can do between 10000 and 15000 proc call/returns per second)