SixPacks mods for GCIC users

"paoloG" <[email protected]> Thu, 04 Nov 2010 11:25:00 -0000
Newsgroups gmane.comp.emulators.hercules390.vm
Message-ID <[email protected]>
Hello!

Often I find fun in installing and testing Hercules on small
appliances, tiny computers, NAS and so on.

Recently I bought a D-LINK DNS-323 for a bargain price (about
75 Euros without HD) and I installed Hercules on it.

Based on a 500 Mhz ARM processor it has a perfomance of 1-1.5 MIPS (more or less the same as a 4341-2 of 1980); this is acceptable to me as I like to have some wait time after issuing a command (it remembers me of good old times;-).

So I decided to test GCIC in this environment, and I
was surprised by the time required to start BROWSE or
EDIT function; for example starting BROWSE of GEDIT ASSEMBLE
file (3742 lines) required about 65 seconds; the same for
starting EDIT.

Even exiting from BROWSE OR EDIT required about 12 sec.

The same functions in a VM/SP environment(using BROWSE and XEDIT)
give a 0.1-0.4 seconds response time.

I noticed that starting BROWSE in GCIC has a path lentgh of about
60M instructions, while the BROWSE of VM/SP has a 100k instructions
path length.

Surprised by such a behaviour I looked into the code of GCIC,
and discoveved that the file to be BROWSED or EDITED 
is read into memory by the same routine in GTABLE ASSEMBLE module;
for each line read is issued a GETMAIN to get an area of
8 + LRECL length.

I suspected that the  poor performances were related to all
these GETMAINs, so I tried a quick and dirty correction:
I acquired an unique area of 500k at the beginning of the routine
and modified the code to cope with this unique area.

I got a response time of 3 sec (instead of 65) and exiting
from BROWSE or EDIT is almost immediate.

Hoping this may be useful to the developer to improve an already
fantastic program!

Regards.

Paul