Skip to content

Instantly share code, notes, and snippets.

@gibson042
Created October 29, 2012 20:37
Show Gist options
  • Save gibson042/3976370 to your computer and use it in GitHub Desktop.
Save gibson042/3976370 to your computer and use it in GitHub Desktop.
Sizzle child cache benchmark comparison
  <th class="text-right">
    sizzle.master
  </th>
  
  <th class="text-right">
    sizzle.reverse
  </th>
  
  <th class="text-right">
    sizzle.multiCache
  </th>
</tr>
  <td style="color:#000;background-color:#1E5 ">
    17,830.54o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    16,524.95o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    16,391.10o/s
  </td>
</tr>

<tr>
  <td>
    #title
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    608,411.26o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    582,796.76o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    627,052.31o/s
  </td>
</tr>

<tr>
  <td>
    h1#title
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    116,203.22o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    116,920.92o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    118,341.55o/s
  </td>
</tr>

<tr>
  <td>
    div #title
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    73,330.54o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    66,504.08o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    67,013.74o/s
  </td>
</tr>

<tr>
  <td>
    div.example
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    7,471.97o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    9,101.17o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    10,870.00o/s
  </td>
</tr>

<tr>
  <td>
    ul .tocline2
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    135,319.53o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    134,321.04o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    138,763.06o/s
  </td>
</tr>

<tr>
  <td>
    .title
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    22,488.51o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    20,296.26o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    22,114.36o/s
  </td>
</tr>

<tr>
  <td>
    .toc
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    73,103.04o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    40,422.44o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    71,137.61o/s
  </td>
</tr>

<tr>
  <td>
    .toc .tocline2
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    127,382.25o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    137,916.62o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    135,367.23o/s
  </td>
</tr>

<tr>
  <td>
    .tocline2, .tocline3, .tocline4
  </td>
  
  <td>
    334.11o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    314.00o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    358.48o/s
  </td>
</tr>

<tr>
  <td>
    div.example, div.note
  </td>
  
  <td style="color:#000;background-color:#F66">
    425.89o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    460.46o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    426.23o/s
  </td>
</tr>

<tr>
  <td>
    body
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    233,845.76o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    126,247.05o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    235,073.18o/s
  </td>
</tr>

<tr>
  <td>
    div
  </td>
  
  <td style="color:#000;background-color:#F66">
    17,549.02o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    19,701.70o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    19,301.21o/s
  </td>
</tr>

<tr>
  <td>
    body div
  </td>
  
  <td style="color:#000;background-color:#F66">
    6,428.67o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    6,461.18o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    11,049.50o/s
  </td>
</tr>

<tr>
  <td>
    div p
  </td>
  
  <td style="color:#000;background-color:#F66">
    1,246.93o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    1,144.14o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    1,755.50o/s
  </td>
</tr>

<tr>
  <td>
    div > p
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    1,993.81o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    2,875.05o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    2,133.62o/s
  </td>
</tr>

<tr>
  <td>
    div + p
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    1,999.42o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    1,538.47o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    2,022.75o/s
  </td>
</tr>

<tr>
  <td>
    div ~ p
  </td>
  
  <td>
    410.75o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    454.61o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    373.18o/s
  </td>
</tr>

<tr>
  <td>
    div[class^=exa][class$=mple]
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    4,177.97o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    2,426.26o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    4,206.33o/s
  </td>
</tr>

<tr>
  <td>
    div p a
  </td>
  
  <td style="color:#000;background-color:#F66">
    576.63o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    568.94o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    698.30o/s
  </td>
</tr>

<tr>
  <td>
    div > p > a
  </td>
  
  <td style="color:#000;background-color:#F66">
    1,559.31o/s
  </td>
  
  <td>
    2,254.43o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    2,498.65o/s
  </td>
</tr>

<tr>
  <td>
    div.example > p > a
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    2,394.89o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    2,193.17o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    1,960.54o/s
  </td>
</tr>

<tr>
  <td>
    div + p + a
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    3,192.97o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    2,817.47o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    3,335.82o/s
  </td>
</tr>

<tr>
  <td>
    div ~ p ~ p
  </td>
  
  <td style="color:#000;background-color:#F66">
    295.79o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    313.14o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    327.90o/s
  </td>
</tr>

<tr>
  <td>
    div, p, a
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    410.08o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    252.08o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    415.16o/s
  </td>
</tr>

<tr>
  <td>
    ul.toc li.tocline2
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    120,782.10o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    120,676.64o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    122,692.66o/s
  </td>
</tr>

<tr>
  <td>
    ul.toc > li.tocline2
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    117,210.37o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    125,105.44o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    122,493.72o/s
  </td>
</tr>

<tr>
  <td>
    h1#title + div > p
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    2,027.18o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    1,927.11o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    1,708.69o/s
  </td>
</tr>

<tr>
  <td>
    h1[id]:contains(Selectors)
  </td>
  
  <td>
    17,441.06o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    46,626.66o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    15,762.09o/s
  </td>
</tr>

<tr>
  <td>
    a[href][lang][class]
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    981.66o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    1,731.06o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    1,787.91o/s
  </td>
</tr>

<tr>
  <td>
    div[class]
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    6,748.48o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    5,471.95o/s
  </td>
  
  <td>
    5,887.18o/s
  </td>
</tr>

<tr>
  <td>
    div[class=example]
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    6,403.41o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    4,859.99o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    6,760.94o/s
  </td>
</tr>

<tr>
  <td>
    div[class^=exa]
  </td>
  
  <td>
    6,139.55o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    5,178.84o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    6,543.94o/s
  </td>
</tr>

<tr>
  <td>
    div[class$=mple]
  </td>
  
  <td>
    5,430.36o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    4,895.58o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    6,168.28o/s
  </td>
</tr>

<tr>
  <td>
    div[class*=e]
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    5,664.74o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    4,549.44o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    5,563.70o/s
  </td>
</tr>

<tr>
  <td>
    div[class
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    5,463.75o/s
  </td>
  
  <td>
    3,991.98o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    3,094.31o/s
  </td>
</tr>

<tr>
  <td>
    div[class!=made_up]
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    6,558.34o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    5,053.54o/s
  </td>
  
  <td>
    5,730.63o/s
  </td>
</tr>

<tr>
  <td>
    div[class~=example]
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    4,039.46o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    4,395.50o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    4,913.93o/s
  </td>
</tr>

<tr>
  <td>
    div:not(.example)
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    8,719.15o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    4,071.08o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    8,959.02o/s
  </td>
</tr>

<tr>
  <td>
    p:contains(selectors)
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    1,387.85o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    1,572.88o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    1,648.14o/s
  </td>
</tr>

<tr>
  <td>
    p:nth-child(even)
  </td>
  
  <td style="color:#000;background-color:#F66">
    132.28o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    1,434.68o/s
  </td>
  
  <td>
    1,130.05o/s
  </td>
</tr>

<tr>
  <td>
    p:nth-child(2n)
  </td>
  
  <td style="color:#000;background-color:#F66">
    158.71o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    1,450.04o/s
  </td>
  
  <td>
    1,102.38o/s
  </td>
</tr>

<tr>
  <td>
    p:nth-child(odd)
  </td>
  
  <td style="color:#000;background-color:#F66">
    123.82o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    1,172.13o/s
  </td>
  
  <td>
    911.63o/s
  </td>
</tr>

<tr>
  <td>
    p:nth-child(2n+1)
  </td>
  
  <td style="color:#000;background-color:#F66">
    161.34o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    1,458.22o/s
  </td>
  
  <td>
    1,102.40o/s
  </td>
</tr>

<tr>
  <td>
    p:nth-child(n)
  </td>
  
  <td>
    4,637.13o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    3,570.60o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    5,084.34o/s
  </td>
</tr>

<tr>
  <td>
    p:only-child
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    3,479.89o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    2,106.75o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    3,449.56o/s
  </td>
</tr>

<tr>
  <td>
    p:last-child
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    3,480.98o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    2,344.15o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    3,247.86o/s
  </td>
</tr>

<tr>
  <td>
    p:first-child
  </td>
  
  <td>
    3,368.51o/s
  </td>
  
  <td style="color:#000;background-color:#F66">
    2,470.66o/s
  </td>
  
  <td style="color:#000;background-color:#1E5 ">
    3,579.68o/s
  </td>
</tr>

<tr>
  <td style="font-weight:bold">
    Total (more is better)
  </td>
  
  <td style="font-weight:bold">
    1,788,922.99o/s
  </td>
  
  <td style="font-weight:bold;color:#000;background-color:#F66">
    1,650,941.31o/s
  </td>
  
  <td style="font-weight:bold;color:#000;background-color:#1E5 ">
    1,832,310.33o/s
  </td>
</tr>
selectors
.note
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment