FEPI application techniques for performance

Use the following techniques to get the best performance from your FEPI applications; the main principles are to minimize the number of commands issued and the amount of data transmitted.

Remember, however, that some of these techniques have drawbacks and some conflict with each other; you must choose the best balance to meet your needs.

  • Use data area sizes that allow a send or receive to be completed with a single FEPI command.
  • Use FEPI CONVERSE where possible. But remember that the send part of CONVERSE can fail for various reasons, so be sure to write your program so that it can issue a subsequent FEPI RECEIVE if necessary.
  • The pseudoconversational style (use of FEPI START commands) results in significant CPU overheads in the front-end region. Further, since the use of FEPI START generates additional flows to and from the real terminal, response times are also significantly increased. As a consequence, FEPI START should be used sparingly when, for example, the receipt of the data from the back-end application takes a long time.
  • Avoid ending sessions unnecessarily. Use the begin-session and end-session handlers to manage usage of the connections.
  • Try to avoid operator dependency in exchanges with a back-end system.

Formatted data

  • Unformatted screens (where the terminal character buffer contains no field attributes) require more processing than formatted screens. Where possible use formatted screens from the back-end systems.
  • Not clearing a screen results in unnecessary data being transmitted to the back-end system.
  • If, when data is received, only a small portion of the resultant screen is of interest, use FEPI EXTRACT FIELD to minimize the amount of data that needs to be transferred to the application.
  • When using key stroke data, avoid issuing a FEPI CONVERSE, SEND, or RECEIVE for each attention operation; combine all the operations into one long string.
  • When using key stroke data with an unformatted screen, use the HOME and ERASE-EOF keys to clear the screen rather than CLEAR, because the latter requires a network transmission.
  • Use key stroke rather than screen-image data where possible, because much less data needs transferring from the application.