QueryJob.md

July 25, 2024 · View on GitHub

Friflo.Engine.ECS

Friflo.Engine.ECS

QueryJob Class

A QueryJob enables Parallel query execution using multiple threads to reduce execution time of large queries.
They are created by the ArchetypeQuery.ForEach() methods.

public abstract class QueryJob

Inheritance System.Object 🡒 QueryJob

Derived
QueryJob<T1,T2,T3,T4,T5>
QueryJob<T1,T2,T3,T4>
QueryJob<T1,T2,T3>
QueryJob<T1,T2>
QueryJob<T1>

Remarks

To execute a query job Sequential use the Run() method.
To execute a query job Parallel use the RunParallel() method.

Properties
JobRunnerThe job runner used to execute a query Parallel.
MinParallelChunkLengthThe minimum number of Chunk<T> components per thread required to execute a query Parallel.
Default: 1000.
ParallelComponentMultipleThe ParallelComponentMultiple is used to align the Chunk<T> components length of a Parallel executed component chunks.
Methods
Run()Execute the query Sequential.
RunParallel()Execute the query. See Example..
All chunks having at least MinParallelChunkLength * ThreadCount components are executed Parallel.