|
On May 5, 2020, at 1:21 PM, Nathan Andelin <nandelin@xxxxxxxxx> wrote:
I've been reviewing Jay's product, which includes a generic CGI program
that calls other RPG programs based on a "routing" table. By saying table,
I'm referring to an IBM i DB table that developers may use to define routes.
Part of my review includes performance testing of the
GET_CUSTOMER_BANK_ACCOUNT_INFO sample web service that's included with the
product. On my server that request consumes 5 milliseconds of CPU time
within HTTP server Jobs.
I compared it to an HTTP interface that I wrote. I tested a web application
that performs comparable database I/O and generates a comparable output
stream. Under the covers it parses HTTP input (environment variables,
query-string parameters, HTTP headers, cookies, and HTML form variables).
The result of the parsing is various structured sets of NAME-VALUE pairs
that can be retrieved by name.
That interface consumes only .6 milliseconds of CPU time. That's about an
8X performance improvement. I've been trying to account for the performance
difference. Jay's CGI program uses YAJL under the covers for CGI I/O. His
HTTP server is also performing basic authentication on every request. But I
didn't expect to see that big of a performance difference.
Nathan.
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link: https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.