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.


--

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to