Tweak some docs.
This commit is contained in:
@@ -6,76 +6,76 @@ seem to like them, so here's a few:
|
||||
<h3>Method Call</h3>
|
||||
<table class="chart">
|
||||
<tr>
|
||||
<th>wren</th><td><div class="chart-bar wren" style="width: 11%;">0.15s </div></td>
|
||||
<th>wren</th><td><div class="chart-bar wren" style="width: 14%;">0.12s </div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>luajit (-joff)</th><td><div class="chart-bar" style="width: 17%;">0.23s </div></td>
|
||||
<th>luajit (-joff)</th><td><div class="chart-bar" style="width: 18%;">0.16s </div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>ruby</th><td><div class="chart-bar" style="width: 26%;">0.36s </div></td>
|
||||
<th>ruby</th><td><div class="chart-bar" style="width: 23%;">0.20s </div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>lua</th><td><div class="chart-bar" style="width: 43%;">0.58s </div></td>
|
||||
<th>lua</th><td><div class="chart-bar" style="width: 41%;">0.35s </div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>python3</th><td><div class="chart-bar" style="width: 88%;">1.18s </div></td>
|
||||
<th>python3</th><td><div class="chart-bar" style="width: 91%;">0.78s </div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>python</th><td><div class="chart-bar" style="width: 100%;">1.33s </div></td>
|
||||
<th>python</th><td><div class="chart-bar" style="width: 100%;">0.85s </div></td>
|
||||
</tr>
|
||||
</table>
|
||||
<h3>DeltaBlue</h3>
|
||||
<table class="chart">
|
||||
<tr>
|
||||
<th>wren</th><td><div class="chart-bar wren" style="width: 27%;">0.13s </div></td>
|
||||
<th>wren</th><td><div class="chart-bar wren" style="width: 22%;">0.13s </div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>python3</th><td><div class="chart-bar" style="width: 94%;">0.44s </div></td>
|
||||
<th>python3</th><td><div class="chart-bar" style="width: 83%;">0.48s </div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>python</th><td><div class="chart-bar" style="width: 100%;">0.47s </div></td>
|
||||
<th>python</th><td><div class="chart-bar" style="width: 100%;">0.57s </div></td>
|
||||
</tr>
|
||||
</table>
|
||||
<h3>Binary Trees</h3>
|
||||
<table class="chart">
|
||||
<tr>
|
||||
<th>luajit (-joff)</th><td><div class="chart-bar" style="width: 20%;">0.16s </div></td>
|
||||
<th>luajit (-joff)</th><td><div class="chart-bar" style="width: 20%;">0.11s </div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>wren</th><td><div class="chart-bar wren" style="width: 39%;">0.29s </div></td>
|
||||
<th>wren</th><td><div class="chart-bar wren" style="width: 41%;">0.22s </div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>ruby</th><td><div class="chart-bar" style="width: 49%;">0.37s </div></td>
|
||||
<th>ruby</th><td><div class="chart-bar" style="width: 46%;">0.24s </div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>python3</th><td><div class="chart-bar" style="width: 68%;">0.52s </div></td>
|
||||
<th>python</th><td><div class="chart-bar" style="width: 71%;">0.37s </div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>lua</th><td><div class="chart-bar" style="width: 97%;">0.73s </div></td>
|
||||
<th>python3</th><td><div class="chart-bar" style="width: 73%;">0.38s </div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>python</th><td><div class="chart-bar" style="width: 100%;">0.75s </div></td>
|
||||
<th>lua</th><td><div class="chart-bar" style="width: 100%;">0.52s </div></td>
|
||||
</tr>
|
||||
</table>
|
||||
<h3>Recursive Fibonacci</h3>
|
||||
<table class="chart">
|
||||
<tr>
|
||||
<th>luajit (-joff)</th><td><div class="chart-bar" style="width: 17%;">0.15s </div></td>
|
||||
<th>luajit (-joff)</th><td><div class="chart-bar" style="width: 17%;">0.10s </div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>wren</th><td><div class="chart-bar wren" style="width: 38%;">0.31s </div></td>
|
||||
<th>wren</th><td><div class="chart-bar wren" style="width: 35%;">0.20s </div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>ruby</th><td><div class="chart-bar" style="width: 40%;">0.33s </div></td>
|
||||
<th>ruby</th><td><div class="chart-bar" style="width: 39%;">0.22s </div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>lua</th><td><div class="chart-bar" style="width: 43%;">0.35s </div></td>
|
||||
<th>lua</th><td><div class="chart-bar" style="width: 49%;">0.28s </div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>python3</th><td><div class="chart-bar" style="width: 96%;">0.78s </div></td>
|
||||
<th>python</th><td><div class="chart-bar" style="width: 90%;">0.51s </div></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>python</th><td><div class="chart-bar" style="width: 100%;">0.81s </div></td>
|
||||
<th>python3</th><td><div class="chart-bar" style="width: 100%;">0.57s </div></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -184,6 +184,19 @@ means that we can copy down all inherited methods in the subclass when it's
|
||||
created since we know those will never change. Method dispatch then just
|
||||
requires locating the method in the class of the receiver.
|
||||
|
||||
### Method signatures
|
||||
|
||||
Wren supports overloading by arity using its concept of [signatures]. This makes
|
||||
the language more expressive, but also faster. When a method is called, we look
|
||||
it up on the receiver's class. If we succeed in finding it, we also know it has
|
||||
the right number of parameters.
|
||||
|
||||
This lets Wren avoid the extra checking most languages need to do at runtime to
|
||||
handle too few or too many arguments being passed to a method. In Wren, it's not
|
||||
*syntactically* possible to call a method with the wrong number of arguments.
|
||||
|
||||
[signatures]: method-calls.html#signature
|
||||
|
||||
### Computed gotos
|
||||
|
||||
On compilers that support it, Wren's core bytecode interpreter loop uses
|
||||
|
||||
Reference in New Issue
Block a user