Thank you everyone!
OK, after doing some timings, everything is going much faster.
The entire process now only takes about a second (excluding the printing)
where it used to take about 5 seconds.
The Data lite blinks on the Zebra 105SL within a second (the green screen
used to hang for a few seconds but doesn't with the upgrade) of the request
but it doesn't print for another 15 seconds.
Looks like it's time to upgrade the Zebra printers. It seems to wait to
print for some reason and I can't find anything on the Zebra to change. Is
there a way to add memory? It's going directly to the printer through a
socket connection, maybe I should direct it to an outq instead to slow it up
but I don't want to do this if management is willing to purchase new
printers (or memory) that can handle the fast throughput.
Thanks again (especially Scott),
Craig
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Craig Jacobsen
Sent: Wednesday, January 26, 2011 11:15 AM
To: 'Midrange Systems Technical Discussion'
Subject: RE: Time increase going from V5R4 to V7R1
Scott,
Just thought you may know of a PTF or something. It was working well before
the upgrade!
I can post code if you want, but we are going to do some timings first to
try to pinpoint a time gap.
I really appreciate your help as well as the rest of the list.
Just in case I can speed up the parsing of the ZPL (mostly all are ZPL) here
is the code:
// get the file from the IFS
Flags = O_RDONLY;
Fd = open(%Trim(File) : Flags);
if Fd < 0;
die('open(): file not found');
endif;
// read the file
Len = Read(Fd: %addr(RecBufA): %size(RecBufA));
// close the file
CallP Close(Fd);
// translate the line of text into EBCDIC
Len = %len(%trim(RecBufA));
Translate(Len: RecBufA: 'QTCPEBC');
// If ZPLII change inverse to regular
DoW 1 = 1;
Z = %Scan('¬POI':RecBufa:Z);
If Z > 0;
%Subst(RecBufa:Z+1:3) = 'PON';
Z += 1;
Else;
Leave;
EndIf;
EndDo;
// Clear the buffer codes
RecBufa= '~CC¬¬XA¬JMA¬FS¬XZ¬XA¬SS,,,1223¬FS¬XZ¬XA¬MN ¬FS¬XZ'+
'¬XA¬MMT¬FS¬XZ¬XA¬MD+10¬FS¬XZ¬XA¬PR5¬FS¬XZ¬XA¬IDR:*.GRF¬XZ'+
'¬XA¬IDR:*.*¬XZ¬XA¬MCY¬XZ' + %Trim(RecBufa);
Len = %Len(%Trim(RecBufA));
// translate the line of text back to ASCII
Translate(Len: RecBufA: 'QTCPASC');
Thanks again,
Craig
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Scott Klement
Sent: Wednesday, January 26, 2011 10:07 AM
To: midrange-l@xxxxxxxxxxxx
Subject: Re: Time increase going from V5R4 to V7R1
Hi Craig,
On 1/26/2011 7:08 AM, Craig Jacobsen wrote:
Yes, I'm using HTTPAPI and FTPAPI to accomplish the label printing.
Thank you and you deserve a lot of credit for that!
Hmmm... I wasn't fishing for credit, Craig. I was merely pointing out that
the IFS APIs are part of IBM i, they are not 'Scott's Stuff'.
FTPAPI and HTTPAPI are my stuff... are you having performance problems with
them?
What if it is the part from #4 down that is slow?
How can I make that part faster?
Please remember that the following quotation is the sum total of knowledge
that I have about step #4:
4) The file is translated to EBCDIC, parsed, some control characters
are put in depending on ZPL,EPL, and then translated back to ASCII
This says that you're doing three things:
1) Translating to EBCDIC, initially, then translating back.
In my experience, this takes a millisecond or so... can't account for a
10 second increase in time (unless you're doing something wrong?) So unless
your benchmarking points to the ASCII/EBCDIC translation as a problem area,
I'd do nothing here.
2) 'parsed'
Yeah. I know exactly one word about this part of the program. Are you
doing this parsing efficiently? Or is it taking a long time? Do you even
know how long it's taking?
3) inserted some ZPL or EPL control characters.
... are you doing that efficiently? Or is it taking a long time? Are you
doing something that could be optmized (such as reading the file one byte at
a time) or not?
Do you see my problem? I know nothing about your routines. If we worked
together, and you asked me for help with this, I'd start by inserting code
to determine where the slowdown is -- the same thing I recommended in my
earlier message to you! Once I determined where the problem is, I'd read
the code and think about how to optimize it.
But, in this case, I can't read the code, and you haven't identified the
problem spot... How much further can I take this?
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe,
or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at
http://archive.midrange.com/midrange-l.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe,
or change list options,
visit:
http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at
http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.