A non-transitory computer-readable storage medium storing a program causing a computer to execute a process, the computer being configured to function as a data processing apparatus including a data processor comprising a plurality of processing modules, configured to be connected to each other serially or in parallel and executed on the computer, that perform data processing including different data processing operations or that perform a data processing operation with different contents, each of the plurality of processing modules having a function of obtaining data from a processing module positioned prior to itself, performing a processing operation on the obtained data, and outputting data as a result of performing the processing operation on the obtained data or outputting a result of processing the obtained data to a processing module positioned subsequent to itself, the process comprising:
- determining, in response to performance of parallel control in the data processor so that the plurality of processing modules perform data processing in parallel, on the basis of a value representing a parallel-processing time for which at least two of the processing modules are operated in parallel and a value representing a control time, which is not required when serial control is performed so that the processing modules serially perform data processing but which is required when the parallel control is performed so that the processing modules perform data processing in parallel, whether a time required to complete data processing performed by the data processor under the parallel control would be shorter than a time required to complete data processing performed by the data processor under the serial control, and outputting a determination result.