[fpc-pascal] Assembler output

José Mejuto joshyfun at gmail.com
Fri Sep 11 22:54:16 CEST 2015


El 11/09/2015 a las 21:18, Sven Barth escribió:

> What is the reason you're trying to do this? Maybe we can help you a bit
> more if we know your motivation to pursue this.
>

Hello,

There are two motivations, the first one is to learn how to do it 
manually, take a .pas, get the .s and assemble them (and link) to geta 
final executable.

The second one is to perform some manual changes in the asm code (I know 
that is very easy to trash it) in order to try to catch some possible 
optimizations and apply/test them before reach a conclusion about them.

I currently had written a small SQL parser (very limited options,  just 
for the simple purpose of extract some fields from a large dump) and I 
think the code (tokenizer) should run faster (currently 28 Megabytes / 
sec in my i7-3770). It has been written with speed in mind, so no 
ansistrings, not realloc data, fixed and large read buffers, minimized 
conditionals as much as possible, inline critical functions, etc... 
There is still a bit of possible optimizations like replacing indirect 
access (pointer[n]) by running pointers but it will degrade too much the 
"easy reading" so I thought maybe I can gain some cycles here and there 
and find a small set of rules (asm sequences) which can be rewritten, 
something like WPO. But as noted it is more a training in the "how to" 
than a need to achieve an objective.


-- 




More information about the fpc-pascal mailing list