Entity Field Query - Most efficient way to get authors of nodes
You are doing a lot of potentially unnecessary loads. Unless you need those nodes at some point on the page request, you will be doing a lot of unnecessary database reads.

I would EFQ to get the node list, and then do another query to just get the $uids. This example will retrieve the node list you're looking for:

$efq = new EntityFieldQuery();
$efq-&gt;entityCondition('entity_type', 'node')
  -&gt;entityCondition('bundle', 'application')
  -&gt;propertyCondition('status', 1)
  -&gt;fieldCondition('field_one', 'value', $value1)
  -&gt;fieldCondition('field_two', 'tid', $value2)
  -&gt;fieldCondition('field_three', 'tid', NULL, 'IS NOT NULL');
$result = $efq-&gt;execute();

if (isset($result['node'])) {
  $query = db_query('SELECT DISTINCT uid FROM {node} WHERE nid IN :nids', 
    array(':nids', array_keys($result['node'])));

  $uids = $query-&gt;execute-&gt;fetchCol();
  $users = user_load_multiple($uids);
}