-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TRTE Performance Improvement #510
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not just no, but HELL no! :(
I'm sorry, James, but...
While it could certainly be argued that technically it shouldn't make any difference whether the integrity tests run in S/370 mode or z/Architecture mode (since the ultimate goal is, after all, to only test the proper functioning of the TRTE
instruction itself), having an integrity test meant to test the proper functioning of a z/Architecture-only instruction run in a mode other than z/Architecture itself just does not sit well with me. It just doesn't seem right. I'm Sorry.
The changes necessary to have your two tests run in z/Arch mode instead of 370 mode are actually quite minor, so I'm going to have to insist that they be made before I can accept your pull request.
The actual TRTE
instruction code in general2.c
looks fine. I'm actually impressed by it in fact! The idea of pre-resolving the entire translation table to mainstor addresses beforehand is a rather brilliant one IMO. Well done! :)
Attached is a simple patch that illustrates the minimum changes needed to fix the problem with the two tests. As you can see the number of changes required are actually quite small:(*)
- james-z.zip
(*)
Soooo.... Once you make the above mentioned minor change to each of your two integrity tests, I would be very happy to accept your pull request.
But as it stands right now? Nope. Sorry! :(
(and I hope there's no hard feelings about all this!)
(*)
NOTE: I did not bother including any cosmetic type changes in the attached patch (except in the .tst scripts). I'll take care of doing that myself after accepting your pull. The above patch only illustrates the minimum necessary changes that need to be made to allow your tests to run in z/Arch mode. I did not bother to fix any of the comments in your program for example. I'll leave that for you.
P.S. There is also no need to close this pull request and create a new one. I'm sure GitHub has a way for you to re-submit your existing pull request again after making changes. |
Fish, My background is S/370 and S/390, no ESA or z/Arch so that's where I went with the tests. Thank you for the patch to convert them to z/Arch. I totally understand your rational for the requirement. Learnt something new today! I resubmitted new pull requests as I deleted my GitHub branch and recreated it after syncing to your 'develop' branch. Then I rebase my local branch on the new remote branch. As I wasn't sure what GitHub does with a pull request when the pulled branch is deleted, I thought it was safer to create a new pull request. What standard font do you want for the PDF version of the test assemble listing? My standard coding font is 'Fira Code' so my PDF's are embedding 'Fira Code Medium:11'. Jim |
Whatever font you personally feel is a good one. Your choice. Me? I prefer Consolas myself. It's slightly darker (thicker I guess) than old fashioned Courier or Courier New, so it looks good in a PDF listing IMHO (and its zero has slash through it too, to distinguish it from the letter capital "O"). Inconsolata is another nice one, which I believe was based on Consolas. Both I believe are embeddable, which IMO is important, as it ensures the PDF displays identically on all systems, even those that don't happen to have it installed. But really, use whatever font you want.
Whatever! If you like it, use it! As I said, font preferences are typically quite personal. The font one person prefers someone else might hate, and vice-versa. So since whatever font you choose is going to be a real crap shoot anyway, I say go with whichever font you yourself personally prefer. Who knows? Someone who's never seen it before might well end up liking it themselves too! So I say go for it! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! :)
James, How did you configure your SATK installation? I'm guessing you specified The reason I ask is because your ASMA listings are formatted slightly differently from my ASMA listings. I suspect it's because I'm using
Once again, while it could be argued that on the grand scale of things it probably makes little difference one way or the other which "addr" setting one chooses to configure their ASMA with, given that it's technically possible to define an addr = 24:
addr = 31:
Therefore, given that most of our tests (not all, but certainly most) are designed for z/Arch (or at least S/390 or greater, usually), it would probably be best IMHO if you used an You don't have to of course! You can continue to use 24 if you want. It's your system after all! You do what you want! I'm just passing on friendly advice, that's all. Make of it what you will. It's no skin off my nose. <shrug> P.S. What program are you using to convert your ASMA listings to PDF with? I installed the "Fira Code" font on my Windows 7 x64 system and my listings look a lot different from yours:
Since I'm using Windows (whereas it appears you're using Linux), I use my HercPrt product's Thanks. P.P.S. I kind of like the Fira Code font! I might have to start using it myself! |
That's with a fresh vs. a worn-out line printer ribbon. |
(Heh!) |
Fish wrote:
How did you configure your SATK installation? I'm guessing you specified addr = 24 in
your ASMA.cfg file. Yes?
The reason I ask is because your ASMA listings are formatted slightly differently from
my ASMA listings. I suspect it's because I'm using addr = 31 in my ASMA.cfg file,
whereas I'm guessing you're using addr = 24. Yes?
My SATK installation is just an unzip of a downloaded SATK GitHub master branch. No additional configuration. And I didn’t find any *.cfg files in the unzipped directory tree. I use just a modified asm script to update directories. For TRTE-01-basic.asm, the script executed:
${ASMA} -i ./$1.core -l $1-asm-$sfx.list $1.asm
From the SATK documentation, the default is “the address size specified within the MSL for the target CPU.” With no default target specified, the default is -t 24. So, yep I’m defaulting to addr =24 for TRTE (I was using the s370 backport for TRTE). On CLCLE and TRE, I specified “-t s390”, so those should have 31 bit addresses. Still learning the environment. I’ll ensure that I have 31 bit addresses going forward.
P.S. What program are you using to convert your ASMA listings to PDF with? I installed
the "Fira Code Medium" font on my Windows 7 x64 system and my listings look a lot
different from yours:
* TRTE-01-basic.pdf <https://github.com/SDL-Hercules-390/hyperion/files/9749209/TRTE-01-basic.pdf>
(yours, as committed)
* TRTE-01-basic.pdf <https://github.com/SDL-Hercules-390/hyperion/files/9749214/TRTE-01-basic.pdf>
(mine, using txt2pdf)
Since I'm using Windows (whereas it appears you're using Linux), I use my HercPrt product's
txt2pdf inhouse tool to convert ASMA listings to PDFs (although I doubt which tool is used
to perform the conversion makes any difference). What text-to-PDF tool are you using on
your system? It's no big deal! I'm just curious, that's all. I'd simply like to understand why
my listings look so much darker (and prettier IMHO!) than yours do.
I too am confused as to why they are so different. I’m using your HercPrt product’s txt2pdf to do the conversion. I download the listing to Windows 10, convert it and then upload the PDF back to Linux. Maybe my system is using the default weight (300 “Light”) rather the Medium weight (500)? Not sure why, so I’ll do some investigation.
I also like the bolder, fresh printer ribbon look!
Jim
|
How did you install the Fira font on your Windows 10 system? I'm not familiar with Windows 10. I still use Windows 7, and all I did was download the "Fira_Code_v6.2.zip" file from https://github.com/tonsky/FiraCode, unzip it, and then double-click on the "FiraCode-Medium.ttf" file (inside the "ttf" folder), and Windows automatically installed the entire Fira font family of True Type fonts for me. Hopefully Windows 10 hasn't changed TOO much, so hopefully you should be able to navigate to the Control Panel and display your Windows 10 system's Font directory. You should see a "Fira Code" icon there: Then of course when you run
That should work. If it doesn't, then I suspect something isn't right with your Windows 10 installation. The ONLY thing I can possibly think of that MIGHT have some affect (although I have never personally tested this myself) is, if the listing file that Maybe you can try running your listing file through <shrug> |
p.s. You can still reply directly via GitHub (rather than respond via email, which is discouraged) by simply visiting the Pull Request's original URL: |
Fish, Solved! It was my problem, as I download the Fira Code fonts from Google Font and installed the variable font Google Fonts has the Fira Code version 5. Thank you for the pointer to "Fira_Code_v6.2.zip". I've the newer version installed. Jim |
Great! Glad to hear it. Glad I could help. |
Fish,
Let's try this pull request for TRTE performance improvement (third time lucky?).
I appreciate your review especially related to cross page requirements.
Before the change, the performance test reported:
and after the change:
The performance tests were run on I5-1135G7 processor.
The TRTE-02-performance tests the TRTE instruction with m3=12 where the FC table is 128K in length, FC is 2 bytes and an argument length of 2 bytes. This should be the worst performing TRTE instruction because of additional page boundary tests. Over three test runs, the average improvement ranged from 67 to 85%.
Thanks for your review. I'm sure that there is still something that I've missed.
Jim