<HTML>
<div><style> BODY { font-family:Arial, Helvetica, sans-serif;font-size:12px; }</style>Thanks George,</div><div><br>
</div><div>I've finished and debugged my optimizer overhaul, although performance varies.  It is predominantly faster than the existing peephole optimizer, but not always as fast as I'd like (no more than a few seconds).  I figure I might have introduced one or two bottlenecks during my debugging.  I'll probably need some kind of profiling tool to figure out where the slowdowns are, but I'm just glad that I've got it working at last!<br>
<br>
If people are willing to make -O1 and -O2 slightly worse when it comes to optimisation, or at least -O1, then I can make it faster still, but one of my philosophies with this overhaul was not to make the compiled code any worse on -O1 and -O2... only equal or better.<br>
<br>
Gareth aka. Kit<br>
</div><br>
 <br>
<br>
<span style="font-weight: bold;">On Tue 26/02/19 12:46 , "George Bakhtadze" armorcavalry@yandex.com sent:<br>
</span><blockquote style="BORDER-LEFT: #F5F5F5 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px">Gareth,
<br>


<br>

First of all, thanks for working on compiler optimizations. I think it's very important.
<br>


<br>

As of benchmark - there is a simple 3D ray tracer benchmark written on several languages including Pascal.
<br>

AFAIR Pascal version almost as fast as Java one and slightly faster than Javascript.
<br>

There is forum topic about it with source code:
<br>

<a target="_blank" href="parse.php?redirect=<a href="http://forum.lazarus.freepascal.org/index.php/topic%2C35700.0.html">http://forum.lazarus.freepascal.org/index.php/topic%2C35700.0.html</a>"><span style="color: red;">http://forum.lazarus.freepascal.org/index.php/topic,35700.0.html</span></a>
<br>

There are also some optimizations made by hand e.g. loop unrolling etc. It may help to analyze optimizer results.
<br>


<br>

---
<br>

Best Regards, George
<br>


<br>

25.02.2019, 17:54, "J. Gareth Moreton" <<a href="javascript:top.opencompose('gareth@moreton-family.com','','','')">gareth@moreton-family.com</a>>:
<br>

<span style="color: rgb(102, 102, 102);">> Given my recent work with the peephole optimizer, one thing that sprung to mind is that I don't have a project that tests for performance gains in a 'real world' program, where little optimisations add up over time.  Given that my x86-64 optimizer overhaul is rather substantial and makes a lot of improvements when it comes to conditional jumps and code efficiency, is there a benchmark that could be used to show the performance improvement compared to the trunk?  There are small ones that test individual components, but nothing substantially large that I'm aware of.
</span><br>

<br>

<br>

</blockquote></HTML>