If I may invoke US Army Standard Answer #1 "It depends on the situation."
Warning: the performance of COMP-3 data varies greatly by architecture. My comments below reflect experience on IBM mainframes, HP minicomputers, and other systems that had direct support for COMP-3 fields. My comments may not apply to PCs and other systems.
I generally avoid COMP-3 fields in external files unless I have good reason to use them. Seems like someone is always wanting to copy those files to some other machine, etc, and dealing with COMP-3 data in those situations is problematic. A good reason to use them in an external file might be: (a) the field will be used for computation and (b) space in the record is at a premium due to some physical limitation and (c) the file is not likely to be used elsewhere.
Internally, I use COMP-3 for any field where there is substantial arithmetic combined with substantial movement of the field to/from a DISPLAY item. If the field is not used with DISPLAY items, it may best be COMP.
My rationale is based on how a DISPLAY NUMERIC field is handled in various situations. For example, to move it to a COMP field requires a PACK and a CVB instruction. To move a COMP field to a DISPLAY field requires a CVD and UNPACK. In each case, the intermediate result is a COMP-3 field. By using COMP-3 fields when DISPLAY NUMERIC fields provide/receive results, you avoid the extra conversions all the way to COMP.
Arguably, if you truly have a lot of arithmetic going on, COMP may be more efficient. You have to determine that in your own situation.
Glenn
Brainbench MVP for COBOL II