ftbench: last updates

Ahmet Göksu <[email protected]>
Newsgroups gmane.comp.fonts.freetype.devel
Message-ID <20e6ef7f-aa07-41eb-a0f4-a5216ffeca30@Spark>
Hi,
It is a late message, sorry for this.
> BTW, have you checked whether replacing `CLOCK_REALTIME` with
> `CLOCK_MONOTONIC` gives better results?
>
> What platform do you actually develop on? What #if clause in
> function `get_time` of `ftbench.c` is run on your computer?
I tried to change the CLOCK_MONOTONIC but my system is not even run this if clause. I am running on a mac. It is runnning only this part
> ...
> #else    /* clock() accuracy has improved since glibc 2.18 */    return 1E6 * (double)clock() / (double)CLOCKS_PER_SEC;#endif /* _POSIX_TIMERS */
--
> With 'bulk test' I mean that you don't time single iterations but do timings for 10 iterations in a group, say, thus avoiding issues with the granularity of the OS timing functions.
I already changed the working way of the timing. I only start the benchmark at beginning and stop at the end.
> Please separate this line slightly from the rest of the table
> and print the *cumulated timing* (in 's', not 'µs') of all tests,
> something like
>  I wouldn't use '**' – this looks like a footnote, and people start
> searching where it belongs to. Instead, please use a simple
> itemization.
>
> * I suggest to rename column 'N' to 'Iterations' or '#Iterations' (or
> something similar).
>
> * The sentence about '(X | Y') is cryptic. Maybe simply start with
done!
> The links for `Baseline` and `Benchmark` to the `.txt` files are
> absolute and thus not portable. They must be relative.
I didnt get this clear. Since objs dir and the source dir different, I needed to give abs path.

Best,
Goksu
goksu.in
benchmark.html (text/html, 16 KB)
<html>
<head>

  <style>
    table {
        table-layout: fixed;
        }
    th, td {
        padding: 3px;
      text-align: center;
    }
    th {
      background-color: #ccc;
      color: black;
    }
    .warning{
        color: red;
    }
    .col1 {
        background-color: #eee;
        }   

    
    .highlight {
      background-color: #0a0;
    }
  </style>
</head>
<body>
<h1>Freetype Benchmark Results</h1>
<h2 class="warning">Warning: Baseline and Benchmark have the same commit ID!</h2>
<h2>Info</h2>
<table border="1">
<tr><th>Info</th><th>Baseline</th><th>Benchmark</th></tr>
<tr><td class="col1">Parameters</td><td>-c 1000 -w 100</td><td>-c 1000 -w 100</td></tr>
<tr><td class="col1">Commit ID</td><td><a href="https://gitlab.freedesktop.org/freetype/freetype/-/commit/267f1914d67ca1095633ab3ecadf496246fedc5d">267f1914</a></td><td><a href="https://gitlab.freedesktop.org/freetype/freetype/-/commit/267f1914d67ca1095633ab3ecadf496246fedc5d">267f1914</a></td></tr>
<tr><td class="col1">Commit Date</td><td>2023-08-30 18:15:08 +0300</td><td>2023-08-30 18:15:08 +0300</td></tr>
<tr><td class="col1">Branch</td><td>GSoC-2023-Ahmet</td><td>GSoC-2023-Ahmet</td></tr>
</table><br/><p>* Average time for single iteration. Smaller values are better.</p><p>	If two values are given in the 'Iterations' column, those are belong to baseline and benchmark in order. </p><h2>Total Results</h2>
<table border="1">
<tr><th>Test</th><th>Iterations</th><th>* Baseline (&#181;s)</th>        <th>* Benchmark (&#181;s)</th><th>Difference (%)</th></tr>
<tr><td class="col1">Load</td><td>100000</td>            <td class="">635.3</td>            <td class="highlight">591.8</td><td>6.9</td></tr>
<tr><td class="col1">Load_Advances (Normal)</td><td>100000</td>            <td class="highlight">593.4</td>            <td class="">608.9</td><td>-2.6</td></tr>
<tr><td class="col1">Load_Advances (Fast)</td><td>100000</td>            <td class="">2.2</td>            <td class="highlight">2.2</td><td>1.8</td></tr>
<tr><td class="col1">Load_Advances (Unscaled)</td><td>100000</td>            <td class="">2.1</td>            <td class="highlight">2.0</td><td>1.0</td></tr>
<tr><td class="col1">Render</td><td>100000</td>            <td class="highlight">933.3</td>            <td class="">935.3</td><td>-0.2</td></tr>
<tr><td class="col1">Get_Glyph</td><td>100000</td>            <td class="highlight">677.8</td>            <td class="">679.8</td><td>-0.3</td></tr>
<tr><td class="col1">Get_Char_Index</td><td>94000</td>            <td class="highlight">2.0</td>            <td class="">2.0</td><td>-1.0</td></tr>
<tr><td class="col1">Iterate CMap</td><td>1000</td>            <td class="">1.3</td>            <td class="highlight">1.3</td><td>1.5</td></tr>
<tr><td class="col1">New_Face</td><td>1000</td>            <td class="">51.3</td>            <td class="highlight">48.0</td><td>6.5</td></tr>
<tr><td class="col1">Embolden</td><td>100000</td>            <td class="">749.5</td>            <td class="highlight">749.5</td><td>0.0</td></tr>
<tr><td class="col1">Stroke</td><td>58550 | 57600</td>            <td class="highlight">2555.1</td>            <td class="">2567.4</td><td>-0.5</td></tr>
<tr><td class="col1">Get_BBox</td><td>100000</td>            <td class="">555.2</td>            <td class="highlight">554.0</td><td>0.2</td></tr>
<tr><td class="col1">Get_CBox</td><td>100000</td>            <td class="highlight">679.4</td>            <td class="">680.6</td><td>-0.2</td></tr>
<tr><td class="col1">New_Face & load glyph(s)</td><td>100000</td>            <td class="">112.7</td>            <td class="highlight">111.4</td><td>1.1</td></tr>
<tr><td class="col1">Total duration for all tests:</td><td class="col1" colspan="4">80 s</td></table>
<h3>Results for Roboto_subset.ttf</h2>
<table border="1">
<tr><th>Test</th><th>Iterations</th>        <th>* <a href="/Users/gks/Desktop/freetype/objs/baseline/Roboto_subset.txt">Baseline</a> (&#181;s)</th>        <th>* <a href="/Users/gks/Desktop/freetype/objs/benchmark/Roboto_subset.txt">Benchmark</a> (&#181;s)</th>        <th>Difference (%)</th></tr>
<tr><td class="col1">Load</td><td>120000</td>                    <td class="">486.6</td><td class="highlight">485.6</td><td>0.2</td></tr>
<tr><td class="col1">Load_Advances (Normal)</td><td>120000</td>                    <td class="">489.4</td><td class="highlight">485.1</td><td>0.9</td></tr>
<tr><td class="col1">Load_Advances (Fast)</td><td>120000</td>                    <td class="highlight">2.6</td><td class="highlight">2.6</td><td>0.0</td></tr>
<tr><td class="col1">Load_Advances (Unscaled)</td><td>120000</td>                    <td class="highlight">2.4</td><td class="highlight">2.4</td><td>0.0</td></tr>
<tr><td class="col1">Render</td><td>120000</td>                    <td class="">885.6</td><td class="highlight">881.9</td><td>0.4</td></tr>
<tr><td class="col1">Get_Glyph</td><td>120000</td>                    <td class="">593.6</td><td class="highlight">589.6</td><td>0.7</td></tr>
<tr><td class="col1">Get_Char_Index</td><td>94000</td>                    <td class="highlight">1.9</td><td class="highlight">1.9</td><td>0.0</td></tr>
<tr><td class="col1">Iterate CMap</td><td>1000</td>                    <td class="highlight">1.3</td><td class="highlight">1.3</td><td>0.0</td></tr>
<tr><td class="col1">New_Face</td><td>1000</td>                    <td class="">44.3</td><td class="highlight">41.6</td><td>6.1</td></tr>
<tr><td class="col1">Embolden</td><td>120000</td>                    <td class="">640.0</td><td class="highlight">639.3</td><td>0.1</td></tr>
<tr><td class="col1">Stroke</td><td>60000</td>                    <td class="">2335.8</td><td class="highlight">2323.6</td><td>0.5</td></tr>
<tr><td class="col1">Get_BBox</td><td>120000</td>                    <td class="">148.7</td><td class="highlight">138.6</td><td>6.8</td></tr>
<tr><td class="col1">Get_CBox</td><td>120000</td>                    <td class="">594.0</td><td class="highlight">590.8</td><td>0.5</td></tr>
<tr><td class="col1">New_Face & load glyph(s)</td><td>120000</td>                    <td class="">114.3</td><td class="highlight">104.7</td><td>8.4</td></tr>
<tr><td class="col1">Total duration for the font:</td><td class="col1" colspan="4">14 s</td></table>
<h3>Results for Arial_subset.ttf</h2>
<table border="1">
<tr><th>Test</th><th>Iterations</th>        <th>* <a href="/Users/gks/Desktop/freetype/objs/baseline/Arial_subset.txt">Baseline</a> (&#181;s)</th>        <th>* <a href="/Users/gks/Desktop/freetype/objs/benchmark/Arial_subset.txt">Benchmark</a> (&#181;s)</th>        <th>Difference (%)</th></tr>
<tr><td class="col1">Load</td><td>95000</td>                    <td class="">892.1</td><td class="highlight">713.2</td><td>20.1</td></tr>
<tr><td class="col1">Load_Advances (Normal)</td><td>95000</td>                    <td class="highlight">753.4</td><td class="">788.9</td><td>-4.7</td></tr>
<tr><td class="col1">Load_Advances (Fast)</td><td>95000</td>                    <td class="highlight">2.0</td><td class="">2.1</td><td>-5.0</td></tr>
<tr><td class="col1">Load_Advances (Unscaled)</td><td>95000</td>                    <td class="highlight">1.9</td><td class="highlight">1.9</td><td>0.0</td></tr>
<tr><td class="col1">Render</td><td>95000</td>                    <td class="">1057.4</td><td class="highlight">1037.1</td><td>1.9</td></tr>
<tr><td class="col1">Get_Glyph</td><td>95000</td>                    <td class="">812.5</td><td class="highlight">779.6</td><td>4.0</td></tr>
<tr><td class="col1">Get_Char_Index</td><td>94000</td>                    <td class="highlight">2.4</td><td class="highlight">2.4</td><td>0.0</td></tr>
<tr><td class="col1">Iterate CMap</td><td>1000</td>                    <td class="">1.4</td><td class="highlight">1.3</td><td>7.1</td></tr>
<tr><td class="col1">New_Face</td><td>1000</td>                    <td class="">65.3</td><td class="highlight">51.8</td><td>20.7</td></tr>
<tr><td class="col1">Embolden</td><td>95000</td>                    <td class="">874.6</td><td class="highlight">835.5</td><td>4.5</td></tr>
<tr><td class="col1">Stroke</td><td>57000</td>                    <td class="">3458.1</td><td class="highlight">3425.7</td><td>0.9</td></tr>
<tr><td class="col1">Get_BBox</td><td>95000</td>                    <td class="">764.6</td><td class="highlight">719.4</td><td>5.9</td></tr>
<tr><td class="col1">Get_CBox</td><td>95000</td>                    <td class="">816.4</td><td class="highlight">766.2</td><td>6.1</td></tr>
<tr><td class="col1">New_Face & load glyph(s)</td><td>95000</td>                    <td class="highlight">110.7</td><td class="">111.9</td><td>-1.1</td></tr>
<tr><td class="col1">Total duration for the font:</td><td class="col1" colspan="4">18 s</td></table>
<h3>Results for TimesNewRoman_subset.ttf</h2>
<table border="1">
<tr><th>Test</th><th>Iterations</th>        <th>* <a href="/Users/gks/Desktop/freetype/objs/baseline/TimesNewRoman_subset.txt">Baseline</a> (&#181;s)</th>        <th>* <a href="/Users/gks/Desktop/freetype/objs/benchmark/TimesNewRoman_subset.txt">Benchmark</a> (&#181;s)</th>        <th>Difference (%)</th></tr>
<tr><td class="col1">Load</td><td>95000</td>                    <td class="">836.4</td><td class="highlight">821.0</td><td>1.8</td></tr>
<tr><td class="col1">Load_Advances (Normal)</td><td>95000</td>                    <td class="highlight">818.6</td><td class="">825.4</td><td>-0.8</td></tr>
<tr><td class="col1">Load_Advances (Fast)</td><td>95000</td>                    <td class="">2.1</td><td class="highlight">2.0</td><td>4.8</td></tr>
<tr><td class="col1">Load_Advances (Unscaled)</td><td>95000</td>                    <td class="highlight">1.9</td><td class="highlight">1.9</td><td>0.0</td></tr>
<tr><td class="col1">Render</td><td>95000</td>                    <td class="">1200.3</td><td class="highlight">1188.2</td><td>1.0</td></tr>
<tr><td class="col1">Get_Glyph</td><td>95000</td>                    <td class="highlight">900.1</td><td class="">906.8</td><td>-0.7</td></tr>
<tr><td class="col1">Get_Char_Index</td><td>94000</td>                    <td class="highlight">1.8</td><td class="highlight">1.8</td><td>0.0</td></tr>
<tr><td class="col1">Iterate CMap</td><td>1000</td>                    <td class="highlight">1.3</td><td class="highlight">1.3</td><td>0.0</td></tr>
<tr><td class="col1">New_Face</td><td>1000</td>                    <td class="">53.2</td><td class="highlight">52.8</td><td>0.8</td></tr>
<tr><td class="col1">Embolden</td><td>95000</td>                    <td class="highlight">1024.7</td><td class="">1031.6</td><td>-0.7</td></tr>
<tr><td class="col1">Stroke</td><td>42750</td>                    <td class="highlight">1036.1</td><td class="">1042.9</td><td>-0.7</td></tr>
<tr><td class="col1">Get_BBox</td><td>95000</td>                    <td class="highlight">882.8</td><td class="">883.7</td><td>-0.1</td></tr>
<tr><td class="col1">Get_CBox</td><td>95000</td>                    <td class="highlight">905.2</td><td class="">908.9</td><td>-0.4</td></tr>
<tr><td class="col1">New_Face & load glyph(s)</td><td>95000</td>                    <td class="">135.7</td><td class="highlight">133.9</td><td>1.3</td></tr>
<tr><td class="col1">Total duration for the font:</td><td class="col1" colspan="4">20 s</td></table>
<h3>Results for Tahoma_subset.ttf</h2>
<table border="1">
<tr><th>Test</th><th>Iterations</th>        <th>* <a href="/Users/gks/Desktop/freetype/objs/baseline/Tahoma_subset.txt">Baseline</a> (&#181;s)</th>        <th>* <a href="/Users/gks/Desktop/freetype/objs/benchmark/Tahoma_subset.txt">Benchmark</a> (&#181;s)</th>        <th>Difference (%)</th></tr>
<tr><td class="col1">Load</td><td>95000</td>                    <td class="highlight">468.9</td><td class="">510.9</td><td>-9.0</td></tr>
<tr><td class="col1">Load_Advances (Normal)</td><td>95000</td>                    <td class="highlight">467.9</td><td class="">516.5</td><td>-10.4</td></tr>
<tr><td class="col1">Load_Advances (Fast)</td><td>95000</td>                    <td class="">2.2</td><td class="highlight">2.1</td><td>4.5</td></tr>
<tr><td class="col1">Load_Advances (Unscaled)</td><td>95000</td>                    <td class="">2.0</td><td class="highlight">1.9</td><td>5.0</td></tr>
<tr><td class="col1">Render</td><td>95000</td>                    <td class="highlight">769.0</td><td class="">827.5</td><td>-7.6</td></tr>
<tr><td class="col1">Get_Glyph</td><td>95000</td>                    <td class="highlight">558.6</td><td class="">607.6</td><td>-8.8</td></tr>
<tr><td class="col1">Get_Char_Index</td><td>94000</td>                    <td class="highlight">1.8</td><td class="">1.9</td><td>-5.6</td></tr>
<tr><td class="col1">Iterate CMap</td><td>1000</td>                    <td class="highlight">1.3</td><td class="highlight">1.3</td><td>0.0</td></tr>
<tr><td class="col1">New_Face</td><td>1000</td>                    <td class="highlight">46.8</td><td class="">47.6</td><td>-1.7</td></tr>
<tr><td class="col1">Embolden</td><td>95000</td>                    <td class="highlight">625.4</td><td class="">665.5</td><td>-6.4</td></tr>
<tr><td class="col1">Stroke</td><td>66500 | 61750</td>                    <td class="highlight">3020.9</td><td class="">3125.7</td><td>-3.5</td></tr>
<tr><td class="col1">Get_BBox</td><td>95000</td>                    <td class="highlight">509.9</td><td class="">557.3</td><td>-9.3</td></tr>
<tr><td class="col1">Get_CBox</td><td>95000</td>                    <td class="highlight">560.1</td><td class="">613.1</td><td>-9.5</td></tr>
<tr><td class="col1">New_Face & load glyph(s)</td><td>95000</td>                    <td class="highlight">101.2</td><td class="">104.5</td><td>-3.3</td></tr>
<tr><td class="col1">Total duration for the font:</td><td class="col1" colspan="4">14 s</td></table>
<h3>Results for Verdana_subset.ttf</h2>
<table border="1">
<tr><th>Test</th><th>Iterations</th>        <th>* <a href="/Users/gks/Desktop/freetype/objs/baseline/Verdana_subset.txt">Baseline</a> (&#181;s)</th>        <th>* <a href="/Users/gks/Desktop/freetype/objs/benchmark/Verdana_subset.txt">Benchmark</a> (&#181;s)</th>        <th>Difference (%)</th></tr>
<tr><td class="col1">Load</td><td>95000</td>                    <td class="">492.5</td><td class="highlight">428.1</td><td>13.1</td></tr>
<tr><td class="col1">Load_Advances (Normal)</td><td>95000</td>                    <td class="">437.8</td><td class="highlight">428.8</td><td>2.1</td></tr>
<tr><td class="col1">Load_Advances (Fast)</td><td>95000</td>                    <td class="">2.3</td><td class="highlight">2.2</td><td>4.3</td></tr>
<tr><td class="col1">Load_Advances (Unscaled)</td><td>95000</td>                    <td class="highlight">2.1</td><td class="highlight">2.1</td><td>0.0</td></tr>
<tr><td class="col1">Render</td><td>95000</td>                    <td class="">754.2</td><td class="highlight">741.8</td><td>1.6</td></tr>
<tr><td class="col1">Get_Glyph</td><td>95000</td>                    <td class="">524.4</td><td class="highlight">515.6</td><td>1.7</td></tr>
<tr><td class="col1">Get_Char_Index</td><td>94000</td>                    <td class="highlight">1.9</td><td class="highlight">1.9</td><td>0.0</td></tr>
<tr><td class="col1">Iterate CMap</td><td>1000</td>                    <td class="highlight">1.3</td><td class="highlight">1.3</td><td>0.0</td></tr>
<tr><td class="col1">New_Face</td><td>1000</td>                    <td class="">46.8</td><td class="highlight">46.0</td><td>1.7</td></tr>
<tr><td class="col1">Embolden</td><td>95000</td>                    <td class="">583.0</td><td class="highlight">575.8</td><td>1.2</td></tr>
<tr><td class="col1">Stroke</td><td>66500</td>                    <td class="">2924.4</td><td class="highlight">2919.1</td><td>0.2</td></tr>
<tr><td class="col1">Get_BBox</td><td>95000</td>                    <td class="highlight">469.9</td><td class="">471.0</td><td>-0.2</td></tr>
<tr><td class="col1">Get_CBox</td><td>95000</td>                    <td class="highlight">521.2</td><td class="">523.9</td><td>-0.5</td></tr>
<tr><td class="col1">New_Face & load glyph(s)</td><td>95000</td>                    <td class="highlight">101.4</td><td class="">101.9</td><td>-0.5</td></tr>
<tr><td class="col1">Total duration for the font:</td><td class="col1" colspan="4">14 s</td></table>
<center>Freetype Benchmark</center>
</body>
</html>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.