Method for zero overhead switching of alternate algorithms in a computer program
First Claim
1. In a computer system having a Windows operating system which provides a Dynamic Link Library that is called by a Windows application for performing a selected worker function, wherein the selected worker function is selected by first accessing an import table provided for use by said application, a method for reducing latency in the calling of said worker function by said application when said selected worker function is a time-critical worker function and said application is a multiple-iteration application which requires multiple iterations of said time-critical worker function, said method comprising:
- accessing by said multiple-iteration application of said import table to locate an address of said time-critical worker function;
calling by said multiple-iteration application of said time-critical worker function in response to the address located by said accessing;
executing the called time-critical worker function and also, on the first call of said time-critical worker function by said multiple-iteration application, utilizing a stub of code provided at the entry point of said time-critical worker function for patching the multiple-iteration application to said time-critical worker function by modifying said multiple-iteration application so that the multiple-iteration application will bypass said import table and directly call said time-critical worker function on subsequent iterations without having to access said import table; and
returning operation to said multiple-iteration application after completion of said time-critical worker function.
14 Assignments
0 Petitions
Accused Products
Abstract
A system wherein a Caller Application is enabled to reduce latency after a First Call to a Data Link Library after which a stub function provides direct access to a selected algorithm'"'"'s work function for execution by a processor. A Hardware Abstraction Layer receives information from multiple CPU'"'"'s to determine the appropriately compatible algorithm for the processor that is to be utilized.
16 Citations
6 Claims
-
1. In a computer system having a Windows operating system which provides a Dynamic Link Library that is called by a Windows application for performing a selected worker function, wherein the selected worker function is selected by first accessing an import table provided for use by said application, a method for reducing latency in the calling of said worker function by said application when said selected worker function is a time-critical worker function and said application is a multiple-iteration application which requires multiple iterations of said time-critical worker function, said method comprising:
-
accessing by said multiple-iteration application of said import table to locate an address of said time-critical worker function; calling by said multiple-iteration application of said time-critical worker function in response to the address located by said accessing; executing the called time-critical worker function and also, on the first call of said time-critical worker function by said multiple-iteration application, utilizing a stub of code provided at the entry point of said time-critical worker function for patching the multiple-iteration application to said time-critical worker function by modifying said multiple-iteration application so that the multiple-iteration application will bypass said import table and directly call said time-critical worker function on subsequent iterations without having to access said import table; and returning operation to said multiple-iteration application after completion of said time-critical worker function. - View Dependent Claims (2, 3, 4, 5, 6)
-
Specification