nl_tokens: The Richards benchmark simulates the task dispatcher of an operating system .
pl_tokens: function runRichards ( ) { var scheduler = new Scheduler ( ) ; scheduler . addIdleTask ( ID_IDLE , 0 , null , COUNT ) ; var queue = new Packet ( null , ID_WORKER , KIND_WORK ) ; queue = <mask> Packet ( queue , ID_WORKER , KIND_WORK ) ; scheduler . addWorkerTask ( ID_WORKER , 1000 , queue ) ; queue = new Packet ( null , ID_DEVICE_A , KIND_DEVICE ) ; queue = new Packet ( queue , ID_DEVICE_A , KIND_DEVICE ) ; queue = new Packet ( queue , ID_DEVICE_A , KIND_DEVICE ) ; scheduler . addHandlerTask ( ID_HANDLER_A , 2000 , queue ) ; queue = new Packet ( null , ID_DEVICE_B , KIND_DEVICE ) ; queue = new Packet ( queue , ID_DEVICE_B , KIND_DEVICE ) ; queue = new Packet ( queue , ID_DEVICE_B , KIND_DEVICE ) ; scheduler . addHandlerTask ( ID_HANDLER_B , 3000 , queue ) ; scheduler . addDeviceTask ( ID_DEVICE_A , 4000 , null ) ; scheduler . addDeviceTask ( ID_DEVICE_B , 5000 , null ) ; scheduler . schedule ( ) ; if ( scheduler . queueCount != EXPECTED_QUEUE_COUNT || scheduler . holdCount != EXPECTED_HOLD_COUNT ) { var msg = "Error during execution: queueCount = " + scheduler . queueCount + ", holdCount = " + scheduler . holdCount + "." ; throw new Error ( msg ) ; } }