flat assembler
Message board for the users of flat assembler.

Index > Programming Language Design > Views on fasmg (split from Are you using CALM (fasmg)?)

Author
Thread Post new topic Reply to topic
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20408
Location: In your JS exploiting you and your system
revolution 22 May 2020, 01:21
I view fasmg as an interpreter for an HLL. Where the HLL is the fasmg syntax. And the assembler is written by the user in fasmg HLL syntax.

cf. inner-platform effect Confused

A more descriptive name could be fhll Razz

To answer the question asked in the title: I don't use fasmg because it is too slow. I have to wait almost an hour to complete a compilation set. Compared to less than a minute for fasm.
Post 22 May 2020, 01:21
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8356
Location: Kraków, Poland
Tomasz Grysztar 22 May 2020, 04:16
revolution wrote:
I view fasmg as an interpreter for an HLL. Where the HLL is the fasmg syntax. And the assembler is written by the user in fasmg HLL syntax.
The syntax of fasmg was - fortunately or not - designed in such way that it is not possible to untangle it from the interpreter requirement. These are not separate entities - the design of the language relies on features of bending and re-interpreting its own text. This is why I needed to introduce CALM, which is an additional language within language that does not impose such requirements and can be at least partially compiled (more akin to fasm's bytecode generated by parser).

revolution wrote:
To answer the question asked in the title: I don't use fasmg because it is too slow. I have to wait almost an hour to complete a compilation set. Compared to less than a minute for fasm.
Wow, I have never seen real projects of such magnitude. The largest compilation I've been testing was the aforementioned HeavyThing, which (with assistance of CALM) takes a dozen seconds with fasmg compared to about half of that with fasm 1 - it is slow with fasm 1 because of a heavy use of preprocessor, though. I guess you can get the times you mentioned with some raw x86 code of incredible proportions.

Anyway, this thread is not targeted at you, then. My inquiry is not about use of fasmg in general, but specifically about the use of CALM, which is a newly added sub-language for instruction definitions. It is probably a question to people that already use fasmg and find it useful for some types of projects.
Post 22 May 2020, 04:16
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20408
Location: In your JS exploiting you and your system
revolution 22 May 2020, 04:45
Tomasz Grysztar wrote:
The largest compilation I've been testing was the aforementioned HeavyThing, which takes a dozen seconds with fasmg compared to about half of that with fasm 1 - it is slow with fasm 1 because of a heavy use of preprocessor, though. I guess you can get the times you mentioned with some raw x86 code of incredible proportions.
The code itself is quite large, but it is compiled multiple times with a different set of configuration options. Each device in each location has a different requirement for its code. So changes requires recompiling the entire set. There is only light use of the preprocessor, mainly because it is also too slow.

Those times are for one process running per CPU core, so they compile in parallel. That is why I had to make the modifications to fasm in windows to allocate memory only on demand, because otherwise multiple invocations of fasm would exhaust the available memory.
Post 22 May 2020, 04:45
View user's profile Send private message Visit poster's website Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20408
Location: In your JS exploiting you and your system
revolution 22 May 2020, 04:49
Tomasz Grysztar wrote:
Anyway, this thread is not targeted at you, then. My inquiry is not about use of fasmg in general, but specifically about the use of CALM, which is a newly added sub-language for instruction definitions. It is probably a question to people that already use fasmg and find it useful for some types of projects.
Okay, I have split this to another thread.
Post 22 May 2020, 04:49
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.