As has been implied, without more information, it is hard to recommend one over the other. I can think of only 3 reasons to integrate perl with C (or any other language):
- The function you want to use is complicated, and has already been implemented in another language/environment
- The function you want is computationally intensive, and can written to run significantly more efficiently in another language/environment
- The function you want is memory intensive, and memory usage can be managed significantly more efficiently in another language/environment
The performance difference is process startup overhead vs function call overhead. On Linux (2.6, current pentium chip), process startup is generally 2-3 ms tops. A function call is about 1 us tops. How often you call it, and how long it takes to run per call, will determine how important overhead ends up being.
Taking advantage of an SMP environment is a design issue. Just because you split something into threads/processes does not mean it will run any faster