abstract |
A method for executing an application expeditiously on at least one computer processor, the method comprising: simultaneously executing a plurality of instances of the application on the at least one computer processor, the application being expected to produce a sequence of results, each instance being generated compiling the application source code according to a respective compiler option that is different from respective compiler options used to generate all other instances of the plurality of instances, wherein a first instance in the plurality of instances produces outputs that they correspond to the sequence of results, and each of the other instances in the plurality of instances produces outputs that correspond to the same sequence of results; and for each result of a first sequence of results to be produced by the application: supervising, corresponding to the result, a respective output generated by each instance; and selecting, from the monitored outputs, the output that occurs first as the application output that corresponds to the result, and labeling all other outputs as duplicates, thereby accelerating a computing performance of the at least one computer processor. |