Using Overlapsphere in Update()

Hi, I need to detect objects (~30-50) inside an area all the time and I want to know which of these would be better?

enemyColliders = Physics.OverlapSphere(aimEnemy.transform.position, areaRadius, mask);
foreach (Collider _c in enemyColliders)
{
    //code here...
}

or

int c = Physics.OverlapSphereNonAlloc(aimEnemy.transform.position, areaRadius, enemyColliders, mask);
for (int i = 0; i < c; i++)
{
    //code here...
}
Array.Clear(enemyColliders, 0, enemyColliders.Length);

Is there something I could improve? thank you.

Don’t use Update(), a rendering schedule, for game logic. That is the most important change you can introduce here.

Choose option that wont allocate. No need to clear arrays.