1. In a computer system, a parallel task engine for performing tasks on data, the parallel task engine comprising: an input for receiving tasks, each task for performing an operation; a scheduler for decomposing the tasks into one or more new tasks, the decomposing being dependent on at least one policy selected from a given set of policies; a run-time dynamic code generator for generating, for the new tasks, operation routines, the run-time dynamic code generator comprising a dynamic compiler, the dynamic compiler being adapted to output the operation routines for execution; a set of job loops, at least one of the job loops for performing the new tasks on at least part of the data by executing the operation routines, the job loops running in parallel on two or more CPUs; the scheduler for distributing and assigning the new tasks to the at least one of the job loops; and the scheduler for making the selection of the at least one policy based on general heuristics.