1. Pentiums and EU
- Posted by Hawke <mdeland at NWINFO.NET> Sep 23, 1998
- 387 views
I'm guessing Rob will have to answer this, so: Rob, does ex.exe take advantage of extra features found in 486/586 processors that aren't found in 386's? I could see serious benefits with having command line switches for ex.exe that invoke processor specific run-time enhancements. ex -386 game.ex --runs using only 386 commands --usefull in determining if game.ex --will run satisfactorily on 386's ex -486 game.ex --i've got one, so lets boost a bit ex -586 game.ex --i've got one, so lets boost to max ex -586 -mmx game.ex --even more improvements are possible ex -P2 game.ex --turns EU from "*FAST*" into --"not safe without shoulder harnesses -- and roll bars" if all this hasn't been already done, i know it would be asking a lot to make these changes. alternatively: =============== there is a bright side, i think, unless mistaken, watcom has compiler switches that basically do this. could be done today, available on the web page in hour or two. i know i would DL another copy of ex.exe (called ex586.exe), if you recompiled it with the -586 flag for watcom. i'd DL it in a heartbeat. i think most on the list would too. the nice thing about making 3-5 versions of ex.exe would be that it wouldn't slow down ex.exe when running on a 386 because the code for the interpreter wouldn't have to be changed by adding a buncha 'fluff' and a buncha testing to see if it's using this or that processor. the user would simply select the proper exX86.exe file to execute their .ex file with. nothing would be broken either. the only 'hard' part would be distribution, but that is what batch files are for. :) make.bat --shown for illustration, i do not mean to insult --*anyone's* intelligence here... copy makefile.386 makefile make copy makefile.486 makefile make copy makefile.586 makefile make copy makefile.mmx makefile --not sure if watcom does this make copy makefile.p2 makefile --or if watcom does this either make pkzip euph20.zip \include\*.* \doc\*.* ex*.exe *.ex it would only add a meager amount to the euph20.zip file... or you could have eu20_386.zip,eu20_486.zip,eu20_586.zip eu20_mmx.zip, & eu20_p2.zip instead... *hoping* --Hawke'
2. Re: Pentiums and EU
- Posted by Noah Smith <nhs6080 at UNIX.TAMU.EDU> Sep 23, 1998
- 408 views
Uhm, and I'm no expert here, but would there be runtime-problems in a bound .ex file if say, I bind it with p2ex.ex, and you tried to run it on your 486? snortboy
3. Re: Pentiums and EU
- Posted by Robert Craig <rds at EMAIL.MSN.COM> Sep 23, 1998
- 375 views
Hawke writes: > Rob, does ex.exe take advantage of extra features > found in 486/586 processors that aren't found > in 386's? Yes. When I compile it with WATCOM C, I choose C compiler options that produce the fastest possible code for a Pentium, but do not use any instructions that don't exist on a 386/486. For example, a Pentium has two instruction pipelines, so it can potentially execute 2 machine instructions at the same time in parallel (superscalar) provided there are no dependencies between the instructions, such as one instruction needs the result of the previous instruction. There's an option to reorder machine instructions to make this more likely. That option will speed up the code on a Pentium, but won't hurt performance on a 386 or 486. For the older processors the order doesn't matter (usually). As an other example, on a Pentium, 8-byte floating-point numbers load faster to/from memory if they are aligned on an 8-byte boundary in memory. For a 386/486 it doesn't matter, 4-byte alignment is enough. So Euphoria aligns f.p. numbers on 8-byte boundaries. In general, most Pentium-specific optimizations are unlikely to hurt performance on the older processors. It's not worth it to have separate versions optimized specifically for a 386 or a 486. You might only gain 1% at best. Regards, Rob Craig Rapid Deployment Software http://members.aol.com/FilesEu/
4. Re: Pentiums and EU
- Posted by Hawke <mdeland at NWINFO.NET> Sep 23, 1998
- 384 views
Noah Smith wrote: > Uhm, and I'm no expert here, but would there be runtime-problems in a > bound .ex file if say, I bind it with p2ex.ex, and you tried to run it > on your 486? yes, binding could present problems, but as Rob mentioned in an email (that you may not have gotten yet) most, if not all, of the pentium optimizations i was thinking of, are actually implemented...
5. Re: Pentiums and EU
- Posted by Hawke <mdeland at NWINFO.NET> Sep 23, 1998
- 386 views
Robert Craig wrote: > For example, a Pentium has two instruction pipelines, > so it can potentially execute 2 machine instructions at the same > time in parallel (superscalar) that is the main optimization i was thinking of... >There's an option to reorder machine >instructions to make this more likely. >That option will speed up the code on a Pentium, >but won't hurt performance on a 386 or 486. i didn't know that switch existed... nice switch... >It's not worth it to have separate versions >optimized specifically for a 386 or a 486. now that I know about what you have enumerated upon here, i would, of course, agree... thanks for the explanation and reply. --Hawke'