flat assembler
Message board for the users of flat assembler.
Index
> Main > Comparison of assemblers Goto page Previous 1, 2, 3, 4, 5 |
Author |
|
Japheth 13 Feb 2008, 07:52
rugxulo wrote: Yeah, NASM has had significant improvements (including bugfixes, x86_64, as well as speedups!!! ... at least without using -Ox). It's a good choice again. Granted, I ain't giving up on FASM, but ... I can use both! NASM still is very slow if compared to FASM, MASM or WASM. I have several cases where some hundreds of small - generated - ASM modules are to be assembled, and NASM is "desperately" slow for such tasks. |
|||
13 Feb 2008, 07:52 |
|
rugxulo 13 Feb 2008, 08:23
You're sure you're using the latest NASM without any -O at all? Well, all I can say is, keep it on a RAM drive (and first in your search path) and recompile according to your processor (e.g. -march=athlon64 or /ox /6 or whatever /O2 etc. MSVC uses).
WASM is reputedly horribly slow at assembling Causeway. And yes, obviously FASM is quite fast (and could be much faster, even). EDIT: Don't forget that it checks %NASMENV% and will gladly use -Ox for as long as it likes. |
|||
13 Feb 2008, 08:23 |
|
Japheth 13 Feb 2008, 13:51
rugxulo wrote: You're sure you're using the latest NASM without any -O at all? Yes, but I made a mistake. I used the DOS version of NASM, and the test was done in XP. When I use the Win32 version of NASM, it's significantly faster. The NASM-DOS was about 400% slower than MASM, NASM-W32 is just 50% slower. |
|||
13 Feb 2008, 13:51 |
|
rugxulo 14 Feb 2008, 18:29
But the real question is: which is faster in pure DOS running under HX with JEMMEX?
EDIT: Different processors make a huge difference. HA (archiver) DOS version is slower (!) than the Windows one on Vista, and the C-- rewrite (much faster on a 486 w/ MSDOS) is almost exactly the same speed as the NT compile on Vista (AMD64x2). Go figure. Anyways, if you post some of your generated NASM examples, maybe we can test assembling them on different processors. Make sure you disable any real-time protection etc. and unpack ("upx -d") before testing for sure. You may even wish to open a fresh command window first. (In DOS, you should probably reset or temporarily disable the cache, obviously.) EDIT#2: I think the Win32 comes unpacked by default but the DOS one is UPX'd. So, that does make a difference (especially when they use either --brute or --ultra-brute, which usually utilizes LZMA). |
|||
14 Feb 2008, 18:29 |
|
Japheth 14 Feb 2008, 20:18
rugxulo wrote: EDIT#2: I think the Win32 comes unpacked by default but the DOS one is UPX'd. So, that does make a difference (especially when they use either --brute or --ultra-brute, which usually utilizes LZMA). Yes, it's mainly the unpacking which takes time. If I use the unpacked DOS version, there is no difference in speed compared to the Win32 version. |
|||
14 Feb 2008, 20:18 |
|
DOS386 18 Feb 2008, 05:16
Rugxulo wrote:
Quote: Yeah, NASM has had significant improvements (including bugfixes, x86_64 Oh well Quote: wish FASM had a LEA optimizer like LZASM or A86. Fairly useless but does save some bytes when a simple "MOV ..." would suffice (and yes, it can be done with macros, meh). I can't imagine most people need the longer encoding What do you want to optimize ? It's not the job of an asm compiler core to hack my/your code ... you code LEA so you get LEA ... you code MOV and you get MOV ... while "XOR EAX,EAX" or "PUSH 1 | POPE EAX" maybe "would suffice" _________________ Bug Nr.: 12345 Title: Hello World program compiles to 100 KB !!! Status: Closed: NOT a Bug |
|||
18 Feb 2008, 05:16 |
|
rugxulo 19 Feb 2008, 03:15
DOS386 wrote: What do you want to optimize ? It's not the job of an asm compiler core to hack my/your code ... you code LEA so you get LEA ... you code MOV and you get MOV ... while "XOR EAX,EAX" or "PUSH 1 | POPE EAX" maybe "would suffice" I know this has been discussed before, but I can't help feel: "Hey, if it's good enough for them ...". But whatever, nitpicking here, surely not even worth mentioning again (unless I do it myself, ugh). |
|||
19 Feb 2008, 03:15 |
|
Goto page Previous 1, 2, 3, 4, 5 < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.