flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
Tomasz Grysztar
Thank you! This looks like it might be a bug of some sort, I need to investigate closely.
|
|||
![]() |
|
MaoKo
You're welcome : )
|
|||
![]() |
|
Tomasz Grysztar
I found what has been causing the problem. Please try release iqvlf.
|
|||
![]() |
|
MaoKo
Thx Tomasz it's work fine. But there is one thing that I can't understand and it's very weird.
Maybe I wrong, but probably there is a small issue with the time and unconditional macro expansion. With this code: Code: macro __private? end macro macro abc? repeat $10 if (1) esc __private else esc __private end if end repeat end macro repeat $20000 abc end repeat Are we agree that normally with or without the ! in __private the macro abc is the same? However the time spent is not. If I remove the "else", everything becomes normal again. I think that there is a thing with else. Whatever the else come from (match,rmatch) this is the same. I don't known. It's seem nothing, (about 2 sec) but with some case it's about a diff of 10 sec or plus. I hope Tomasz you can enlighten me : ). |
|||
![]() |
|
Tomasz Grysztar
MaoKo wrote: Are we agree that normally with or without the ! in __private the macro abc is the same? However the time spent is not. In general, unconditional macros are certainly bad for performance, because they are evaluated everywhere. That's what they do. PS. I don't know if this could be applied to your specific case, but you could suppress the unconditional evaluation in the ELSE block by hiding it in a normal, "conditional" macro: Code: macro __private?! end macro macro hidden esc __private end macro macro abc? repeat $10 if (1) esc __private else hidden end if end repeat end macro repeat $20000 abc end repeat |
|||
![]() |
|
MaoKo
Yes, I'm sorry. When writing this macro, I have totally forgot the expansion of "!" macro in else block
![]() I try to optimize as fast as possible my irps macro with different implementation. I hope I can gain few second with this. Thx. |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.