|
<mvt:comment> |
|
Parameter Config |
|
</mvt:comment> |
|
<mvt:if expr="NOT(g.max GT 0 AND g.max LT 500000)"> |
|
<mvt:assign name="g.max" value="100000" /> |
|
</mvt:if> |
|
|
|
<mvt:if expr="ISNULL g.test_string"> |
|
<mvt:capture variable="g.test_string"> |
|
`1234567890-=qwertyuiop[]\asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?' |
|
</mvt:capture> |
|
</mvt:if> |
|
|
|
<mvt:if expr="ISNULL g.encoding"> |
|
<mvt:assign name="g.encoding" value="'mvt'" /> |
|
</mvt:if> |
|
|
|
<mvt:if expr="ISNULL g.precision"> |
|
<mvt:assign name="g.precision" value="2" /> |
|
</mvt:if> |
|
|
|
<mvt:comment> |
|
Benchmark Loop |
|
</mvt:comment> |
|
<mvt:assign name="l.counter" value="0" /> |
|
<mvt:assign name="l.settings:benchmark:start" value="s.dyn_time_t $ '.' $ padl(s.dyn_tm_usec, 6, 0)" /> |
|
<mvt:capture variable="l.output"> |
|
<mvt:while expr="l.counter LT g.max"> |
|
<mvt:if expr="g.encoding EQ 'mvte'"> |
|
&mvte:global:test_string; |
|
<mvt:elseif expr="g.encoding EQ 'mvt'"> |
|
&mvt:global:test_string; |
|
<mvt:elseif expr="g.encoding EQ 'mvtj'"> |
|
&mvtj:global:test_string; |
|
<mvt:elseif expr="g.encoding EQ 'mvta'"> |
|
&mvta:global:test_string; |
|
</mvt:if> |
|
<mvt:assign name="l.counter" value="l.counter + 1" /> |
|
</mvt:while> |
|
</mvt:capture> |
|
<mvt:assign name="l.settings:benchmark:current" value="s.dyn_time_t $ '.' $ padl(s.dyn_tm_usec, 6, 0)" /> |
|
<mvt:assign name="l.settings:benchmark:diff" value="l.settings:benchmark:current - l.settings:benchmark:start" /> |
|
<mvt:assign name="l.settings:benchmark:formatted_diff" value="rnd( l.settings:benchmark:diff, g.precision )" /> |
|
|
|
<mvt:comment> |
|
Result Output |
|
</mvt:comment> |
|
<h2>Parameters</h2> |
|
<form action="&mvte:urls:_self:auto_noparams;" method="get"> |
|
<p> |
|
<label> |
|
<b>Test String:</b> <small>(String to output at in loop with provided encoding)</small><br> |
|
<textarea name="test_string">&mvte:global:test_string;</textarea> |
|
</label> |
|
</p> |
|
<p> |
|
<label> |
|
<b>Encoding:</b> <small>(Which output encoding to use (ex mvt, mvte, mvta, mvtj)</small><br> |
|
<mvt:comment> <input type="text" name="encoding" value="&mvte:global:encoding;"> </mvt:comment> |
|
<button name="encoding" value="mvt">mvt</button> |
|
<button name="encoding" value="mvte">mvte</button> |
|
<button name="encoding" value="mvta">mvta</button> |
|
<button name="encoding" value="mvtj">mvtj</button> |
|
</label> |
|
</p> |
|
<p> |
|
<label> |
|
<b>Loop Count</b>: <small>(How many itterations in the output loop)</small><br> |
|
<input type="number" min="1" max="500000" step="1" name="max" value="&mvte:global:max;"> |
|
</label> |
|
</p> |
|
<p> |
|
<label> |
|
<b>Duration Precision</b>: <small>(How many digits to round the output to)</small><br> |
|
<input type="number" min="0" step="1" name="precision" value="&mvte:global:precision;"> |
|
</label> |
|
</p> |
|
<button>Submit</button> |
|
</form> |
|
|
|
<hr> |
|
|
|
<h2>Results</h2> |
|
|
|
<p>diff: &mvte:benchmark:formatted_diff;</p> |
|
|
|
<hr> |
|
|
|
<a href="&mvte:urls:_self:auto_noparams;">Reset to Default</a> |