Touch performance: Multiple raycast-scripts or better only one

I´m new to scripting and I have a complex 3d-GUI with a lot of single 3d-objects that can be touched.
For each of them I have a more or less different script, depending of what action will be triggered. But all of these scripts check touch-input by:

for (var touch : Touch in Input.touches) {
if (touch.phase == TouchPhase.Began) {
var hit : RaycastHit;
var ray = guicam.camera.ScreenPointToRay (Input.GetTouch(0).position);
if (Physics.Raycast (ray, hit,10000, mask)) {
if (hit.transform==transform)
dothis();

Is this bad for performance?
Would it be faster to have only one script with one ray against an array of 3d-GUI-Objects?

I would only use one raycast. Use an Interface (or whatever the JS equivalent of that is) with some sort of abstract “OnPressed” function that gets implemented by all of your GUI objects. Since you’re already using a layer mask, I presume all of your objects are on the same layer. That way you can have a single raycast and then just use transform.getComponent(yourInterface).OnPressed() on the hit object to execute the actual action.