Solution 1:

Every extra line of code decreases the performance of code. After all, it is an extra instruction to be executed, which at least consumes some CPU. So yes, dbms_output.put_line decreases the performance.

The real question is: does the benefit of this extra line of code outweigh the performance penalty? Only you can answer that question.

Regards,
Rob.

Solution 2:

Yes, it's another piece of code that needs to be executed, but unless the output is actually turned on, I think the overhead is quite minimal.

Here's an AskTom question with more details: Is there a performance impact for dbms_output.put_line statements left in packages?