<!DOCTYPE html>
<html>
  <head>
  </head>
  <body>
    <dl style="line-height: 1.5; margin-left: 2em">
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">Author</dt>
      <dd style="margin-left: 8.5em">Kouhei Sutou &lt;kou****@clear*****&gt;</dd>
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">Date</dt>
      <dd style="margin-left: 8.5em">2017-10-12 18:26:27 +0900 (Thu, 12 Oct 2017)</dd>
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">New Revision</dt>
      <dd style="margin-left: 8.5em"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1">87980ea0aea34c3ff077812c7eef2be813c910e1</a></dd>
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">Message</dt>
      <dd style="margin-left: 8.5em"><pre style="border: 1px solid #aaa; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; padding: 0.5em; width: auto">Add a benchmark tool for creating index</pre></dd>
      <dt style="clear: both; float: left; font-weight: bold; width: 8em">Added files</dt>
      <dd style="margin-left: 8.5em">
        <ul>
          <li><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4">tools/groonga-benchmark-indexing.rb</a></li>
        </ul>
      </dd>
    </dl>

    <div class="diff-section" style="clear: both">
      <table style="border-collapse: collapse; border: 1px solid #aaa">
        <thead>
          <tr class="diff-header" style="border: 1px solid #aaa">
            <td colspan="3">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">  Added: tools/groonga-benchmark-indexing.rb (+129 -0) 100755</span>
<span class="diff-header-mark" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">===================================================================</span>
</pre>
            </td>
          </tr>
        </thead>
        <tbody>
          <tr>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4">...</a></span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
<span class="diff-line-number-nothing" style="display: block; white-space: pre">&nbsp;</span>
</pre>
            </th>
            <th class="diff-line-number" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-line-number-hunk-header" style="display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4">...</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R1">1</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R2">2</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R3">3</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R4">4</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R5">5</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R6">6</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R7">7</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R8">8</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R9">9</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R10">10</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R11">11</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R12">12</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R13">13</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R14">14</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R15">15</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R16">16</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R17">17</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R18">18</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R19">19</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R20">20</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R21">21</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R22">22</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R23">23</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R24">24</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R25">25</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R26">26</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R27">27</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R28">28</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R29">29</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R30">30</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R31">31</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R32">32</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R33">33</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R34">34</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R35">35</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R36">36</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R37">37</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R38">38</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R39">39</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R40">40</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R41">41</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R42">42</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R43">43</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R44">44</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R45">45</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R46">46</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R47">47</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R48">48</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R49">49</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R50">50</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R51">51</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R52">52</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R53">53</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R54">54</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R55">55</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R56">56</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R57">57</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R58">58</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R59">59</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R60">60</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R61">61</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R62">62</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R63">63</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R64">64</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R65">65</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R66">66</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R67">67</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R68">68</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R69">69</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R70">70</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R71">71</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R72">72</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R73">73</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R74">74</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R75">75</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R76">76</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R77">77</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R78">78</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R79">79</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R80">80</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R81">81</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R82">82</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R83">83</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R84">84</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R85">85</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R86">86</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R87">87</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R88">88</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R89">89</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R90">90</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R91">91</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R92">92</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R93">93</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R94">94</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R95">95</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R96">96</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R97">97</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R98">98</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R99">99</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R100">100</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R101">101</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R102">102</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R103">103</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R104">104</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R105">105</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R106">106</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R107">107</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R108">108</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R109">109</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R110">110</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R111">111</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R112">112</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R113">113</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R114">114</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R115">115</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R116">116</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R117">117</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R118">118</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R119">119</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R120">120</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R121">121</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R122">122</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R123">123</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R124">124</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R125">125</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R126">126</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R127">127</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R128">128</a></span>
<span class="diff-line-number-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre"><a href="https://github.com/groonga/groonga/commit/87980ea0aea34c3ff077812c7eef2be813c910e1#diff-64b2aa0521b0939037a227d07091edf4R129">129</a></span>
</pre>
            </th>
            <td class="diff-content" style="border: 1px solid #aaa">
<pre style="border: 0; font-family: Consolas, Menlo, &quot;Liberation Mono&quot;, Courier, monospace; line-height: 1.2; margin: 0; padding: 0.5em; white-space: normal; width: auto"><span class="diff-hunk-header" style="background-color: #eaf2f5; color: #999999; display: block; white-space: pre">@@ -0,0 +1,129 @@</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+#!/usr/bin/env ruby</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+require &quot;fileutils&quot;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+require &quot;json&quot;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+require &quot;optparse&quot;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+class IndexingBenchmarker</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  def initialize</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    @groonga = &quot;groonga&quot;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    @database_path = nil</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    @benchmark_database_dir = detect_benchmark_database_dir</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  def run</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    catch(:run) do</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      parse_options!</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    dump_no_indexes = dump(&quot;dump-no-indexes.grn&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                           &quot;--dump_indexes&quot;, &quot;no&quot;)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    dump_only_indexes = dump(&quot;dump-only-indexes.grn&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                             &quot;--dump_plugins&quot;, &quot;no&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                             &quot;--dump_schema&quot;, &quot;no&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                             &quot;--dump_records&quot;, &quot;no&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                             &quot;--dump_configs&quot;, &quot;no&quot;)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    dump_no_records = dump(&quot;dump-no-records.grn&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                           &quot;--dump_records&quot;, &quot;no&quot;)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    dump_only_records = dump(&quot;dump-only-records.grn&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                             &quot;--dump_plugins&quot;, &quot;no&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                             &quot;--dump_schema&quot;, &quot;no&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                             &quot;--dump_indexes&quot;, &quot;no&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                             &quot;--dump_configs&quot;, &quot;no&quot;)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    create_benchmark_database do</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      p [:load_record, measure(dump_no_indexes)]</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      p [:static_index_creation, measure(dump_only_indexes)]</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    create_benchmark_database do</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      p [:create_schema, measure(dump_no_records)]</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      p [:load_record_and_create_index, measure(dump_only_records)]</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    true</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  private</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  def detect_benchmark_database_dir</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    candiates = [</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      &quot;/dev/shm&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      &quot;tmp&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    ]</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    candiates.find do |candidate|</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      File.exist?(candidate)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  def benchmark_database_path</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    &quot;#{@benchmark_database_dir}/bench-db/db&quot;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  def parse_options!</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    option_parser = OptionParser.new do |parser|</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      parser.banner += &quot; SOURCE_DATABASE&quot;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      parser.on(&quot;--groonga=PATH&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                &quot;Use PATH as groonga command path&quot;) do |path|</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+        @groonga = path</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      parser.on(&quot;--benchmark-database-dir=DIR&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                &quot;Use DIR to put benchmark database&quot;) do |dir|</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+        @benchmark_database_dir = dir</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    @database_path, = option_parser.parse!(ARGV)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    if @database_path.nil?</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      puts(option_parser)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      throw(:run)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  def dump(path, *dump_options)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    return path if File.exist?(path)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    unless system(@groonga,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                  @database_path,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                  &quot;dump&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                  *dump_options,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+                  :out =&gt; path)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      raise &quot;failed to dump: #{dump_options.inspect}&quot;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    path</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  def create_benchmark_database</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    dir = File.dirname(benchmark_database_path)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    FileUtils.rm_rf(dir)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    FileUtils.mkdir_p(dir)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    system(@groonga,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+           &quot;-n&quot;, benchmark_database_path,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+           &quot;shutdown&quot;,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+           :out =&gt; IO::NULL)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    begin</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      yield</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    ensure</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      FileUtils.rm_rf(dir)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  def measure(dump_path)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    result = &quot;result&quot;</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    begin</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      system(@groonga,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+             &quot;--file&quot;, dump_path,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+             benchmark_database_path,</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+             :out =&gt; result)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      File.open(result) do |output|</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+        output.each_line.inject(0) do |result, line|</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+          result + JSON.parse(line)[0][2]</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+        end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    ensure</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+      FileUtils.rm_f(result)</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+    end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+  end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+end</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+</span>
<span class="diff-added" style="background-color: #eaffea; color: #000000; display: block; white-space: pre">+exit(IndexingBenchmarker.new.run)</span>
</pre>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>