If a device is created in a class or in a program it is possible to execute the device's commands locally i.e. in the same process. The convenience function for executing commands locally is dev_cmd(). Commands executed locally do not have any overhead and are consequently much quicker than the same commands executed over the network. This allows programs or other device classes which have to run close to the hardware because of performance or hardware constraints to use existing device classes locally. Devices which are created as members of a class are referred to as sub-objects. For more information on this use of devices refer to the discussion in Chapter 6.