Using IJobFilter to query array-- how to go parallel?

Hi, since IJobParallelForFilter is obselete (not sure why that happened, but it seems it was never parallel to begin with anyway), I’m trying to put together a way of filtering an array by a given value (I return an array of the indices as keys to further arrays), and this seems to be the fastest I’ve managed to put together. However, this isn’t using any parallel processing, so to speak, so it feels like there is room for further optimisation (though it is pretty fast already, and certainly better than just iterating over the array in a loop and adding the matches to a list). I suspect not using the IJobFilter at all might be the only way to further improvement, but it does seem like the job type is designed for this specific requirement. Any thoughts on how this could be improved? Cheers.

private static NativeList<int> resultList;

private void Awake()
{
    // ..
    resultList = new NativeList<int>(Allocator.Persistent);
}

private void OnDestroy()
{
    // ..
    resultList.Dispose();
}

public static int[] FilterAll(ref int[] refArray, int findValue) // Returns entityIndex's
{
    NativeArray<int> queryArray = new NativeArray<int>(refArray, Allocator.TempJob);

    FilterAllIntJob jobHandle = new FilterAllIntJob()
    {
        query = queryArray, value = findValue,
    };
    jobHandle.ScheduleAppend(resultList, refArray.Length).Complete();

    int[] indexMatches = resultList.ToArrayNBC();
    resultList.Clear();
    
    queryArray.Dispose();

    return indexMatches;
}

[BurstCompile]
private struct FilterAllIntJob : IJobFilter
{
    [ReadOnly] public NativeArray<int> query;
    [ReadOnly] public int value;

    public bool Execute(int index)
    {
        return query[index] == value;
    }
}

There doesn’t seem to be much reason to use jobHandle.ScheduleAppend(..).Complete(); over just using jobHandle.RunAppend(..); in this case, either, with the Run version providing a noticeable performance increase, and the main thread has to wait for the job to finish regardless (unless I’m missing something here) ?