GCC/DJGPP --masm=intel (plus YASM, GCC speed) (Announce)
> A normal "runtime make" of TDE 5.1v on my P166 (DJGPP 2.03p2, GCC 3.4.4)
> takes 4 mins on DR-DOS 7.03 using JEMMEX (but 30secs more if using the
> default DR-EMM386 or even DR-HIMEM, strangely). This is using the default
> makefile without any changes.
I decided to defragment my P166, but I think I made it worse (6 mins!), so I'm using a tweaked defragment setting (full w/ file reorder). That's going to take a while, though, but I need to test again as soon as it's finished.
> On this AMD Athlon64x2 1.7 Ghz, using GCC 4.2.2 (DJGPP 2.04 beta) and Make
> 3.80 (2.04 compile), it takes 1 min. 4 secs. And that's a fair amount
> slower than either 3.4.4 (37 secs) or 2.95.3 (13 secs), both using DJGPP
> 2.03p2. Obviously, some optimizations in GCC have been improved as well as
> it's support for extra languages too. I'm just saying, it ain't that super
> duper fast.
>
> EDIT: I forgot, 2.95.3 needs "-mcpu" instead of "-mtune" in the makefile.
> But everything else is the same.
Okay, I think I solved part of the issue, and it's not that big a shock (but still surprising): UPX. I tested it on my aunts' P4, and that's what clued me off. Unpack the .EXEs and try again: upx -d /djgpp/.../*.exe. After this, my AMD64x2 (using GCC 4.2.2) only took 49 secs to compile TDE 5.1v. See, they only started packing everything fairly recently (after the UPX 1.25 djgpp/coff bug was fixed).
Just FYI in case anyone needs to compile anything huge with DJGPP or whatever: unpack the .EXEs first, it's faster that way.
Complete thread:
- GCC 4.2.2 for DJGPP released - Rugxulo, 25.10.2007, 06:58 (Announce)
- GCC 4.2.2 for DJGPP released - RayeR, 25.10.2007, 10:54
- GCC 4.2.2 for DJGPP released - RayeR, 26.10.2007, 02:28
- GCC 4.2.2 for DJGPP released - rr, 26.10.2007, 11:19
- GCC 4.2.2 for DJGPP released - RayeR, 27.10.2007, 01:54
- GCC 4.2.2 for DJGPP released - RayeR, 27.10.2007, 03:07
- GCC 4.2.2 for DJGPP released - Rugxulo, 27.10.2007, 14:26
- GCC 4.2.2 for DJGPP released - RayeR, 28.10.2007, 23:17
- GCC/DJGPP --masm=intel (plus YASM, GCC speed) - Rugxulo, 30.10.2007, 05:42
- GCC/DJGPP --masm=intel (plus YASM, GCC speed) - RayeR, 30.10.2007, 13:09
- GCC/DJGPP --masm=intel (plus YASM, GCC speed) - Rugxulo, 31.10.2007, 00:26
- GCC/DJGPP --masm=intel (plus YASM, GCC speed) - Rugxulo, 31.10.2007, 09:31
- UPX - lucho, 31.10.2007, 10:08
- UPX - RayeR, 31.10.2007, 12:15
- UPX - rr, 31.10.2007, 17:12
- UPX - gcc - benchmark - RayeR, 01.11.2007, 02:27
- UPX - gcc - benchmark - Rugxulo, 01.11.2007, 02:47
- UPX - gcc - benchmark - RayeR, 01.11.2007, 11:10
- UPX - gcc - benchmark -- LZMA can save a lot (sometimes) - Rugxulo, 03.11.2007, 03:32
- UPX - gcc - benchmark -- LZMA can save a lot (sometimes) - RayeR, 03.11.2007, 11:25
- UPX - gcc - benchmark -- LZMA can save a lot (sometimes) - Rugxulo, 03.11.2007, 03:32
- UPX - gcc - benchmark - RayeR, 01.11.2007, 11:10
- UPX - gcc - benchmark - Rugxulo, 01.11.2007, 02:47
- UPX - rr, 31.10.2007, 13:11
- UPX - Andris, 31.10.2007, 19:30
- UPX - RayeR, 31.10.2007, 12:15
- GCC/DJGPP --masm=intel (plus YASM, GCC speed) - Rugxulo, 01.11.2007, 03:27
- UPX - lucho, 31.10.2007, 10:08
- GCC/DJGPP --masm=intel (plus YASM, GCC speed) - Rugxulo, 31.10.2007, 09:31
- GCC/DJGPP --masm=intel (plus YASM, GCC speed) - Rugxulo, 31.10.2007, 00:26
- GCC/DJGPP --masm=intel (plus YASM, GCC speed) - RayeR, 30.10.2007, 13:09
- GCC/DJGPP --masm=intel (plus YASM, GCC speed) - Rugxulo, 30.10.2007, 05:42
- GCC 4.2.2 for DJGPP released - RayeR, 28.10.2007, 23:17
- GCC 4.2.2 for DJGPP released - Rugxulo, 27.10.2007, 14:26
- GCC 4.2.2 for DJGPP released - RayeR, 27.10.2007, 03:07
- GCC 4.2.2 for DJGPP released - RayeR, 27.10.2007, 01:54
- GCC 4.2.2 for DJGPP released - rr, 26.10.2007, 11:19
- GCC 4.2.2 for DJGPP released - RayeR, 26.10.2007, 02:28
- GCC 4.2.2 for DJGPP released - RayeR, 25.10.2007, 10:54