0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-10-31 09:14:20 -04:00
denoland-deno/website/index.html
2019-02-02 18:40:18 -05:00

246 lines
7.1 KiB
HTML

<!-- Copyright 2018-2019 the Deno authors. All rights reserved. MIT license. -->
<!DOCTYPE html>
<html>
<head>
<title>Deno</title>
<link rel="manifest" href="/manifest.json" />
<link rel="stylesheet" href="https://unpkg.com/c3@0.6.7/c3.min.css" />
<link rel="stylesheet" href="style.css" />
<meta
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"
name="viewport"
/>
</head>
<body>
<main>
<img id="logo" src="deno_logo_2.gif" width="150" />
<!-- Logo by hashrock https://denolib.github.io/animated-deno-logo/ -->
<h1>Deno</h1>
<p>
A new way to JavaScript
<!-- TODO(ry) add the registry badges. -->
</p>
<table>
<tr>
<th></th>
<th>Linux &amp; Mac</th>
<th>Windows</th>
</tr>
<tr>
<th><a href="https://github.com/denoland/deno">deno</a></th>
<td>
<a class="badge" href="https://travis-ci.com/denoland/deno"
><img src="https://travis-ci.com/denoland/deno.svg?branch=master"
/></a>
</td>
<td>
<a class="badge" href="https://ci.appveyor.com/project/deno/deno"
><img
src="https://ci.appveyor.com/api/projects/status/yel7wtcqwoy0to8x/branch/master?svg=true"
/></a>
</td>
</tr>
<tr>
<th><a href="https://github.com/denoland/deno_std">deno_std</a></th>
<td colspan="2">
<a
class="badge"
href="https://dev.azure.com/denoland/deno_std/_build?definitionId=2"
><img
src="https://dev.azure.com/denoland/deno_std/_apis/build/status/denoland.deno_std?branchName=master"
/></a>
</td>
</tr>
<tr>
<th>
<a href="https://github.com/denoland/deno_install">deno_install</a>
</th>
<td>
<a class="badge" href="https://travis-ci.com/denoland/deno_install"
><img
src="https://travis-ci.com/denoland/deno_install.svg?branch=master"
/></a>
</td>
<td>
<a
class="badge"
href="https://ci.appveyor.com/project/deno/deno-install"
><img
src="https://ci.appveyor.com/api/projects/status/gtekeaf7r60xa896?branch=master&svg=true"
/></a>
</td>
</tr>
<tr>
<th><a href="https://github.com/denoland/registry">registry</a></th>
</tr>
</table>
<p>
<a href="https://github.com/denoland/deno/blob/master/Docs.md"
>Documentation</a
>
</p>
<p><a href="typedoc/index.html">API Reference</a></p>
<p>
<a href="https://github.com/denolib/awesome-deno"
>Other Deno resources.</a
>
</p>
<h2>Install</h2>
<p>With Shell</p>
<pre>
curl -fL https://deno.land/x/install/install.sh | sh
</pre
>
<p>With PowerShell</p>
<pre>
iex (iwr https://deno.land/x/install/install.ps1)
</pre
>
<h2>Mini-tutorial</h2>
Try a Deno program. This one serves a local directory in HTTP.
<pre>
alias file_server="deno \
https://deno.land/x/http/file_server.ts --allow-net"
</pre
>
Run it:
<pre>
% file_server .
Downloading https://deno.land/x/http/file_server.ts...
[...]
HTTP server listening on http://0.0.0.0:4500/
</pre
>
And if you ever want to upgrade to the latest published version:
<pre>
file_server --reload
</pre
>
<h2>Dig in...</h2>
<a href="https://github.com/denoland/deno/blob/master/Docs.md"
>Documentation</a
>
<p><a href="typedoc/index.html">API Reference</a></p>
<p>
<a href="https://github.com/denolib/awesome-deno"
>Links to other Deno resources.</a
>
</p>
<h2>Continuous Benchmarks</h2>
These plots are updated on every commit to
<a href="https://github.com/denoland/deno">master branch</a>.
<h3>Execution time</h3>
This shows how much time total it takes to run a few simple deno programs:
<a href="https://github.com/denoland/deno/blob/master/tests/002_hello.ts"
>tests/002_hello.ts</a
>
and
<a
href="https://github.com/denoland/deno/blob/master/tests/003_relative_import.ts"
>tests/003_relative_import.ts</a
>. For deno to execute typescript, it must first compile it to JS. A warm
startup is when deno has a cached JS output already, so it should be fast
because it bypasses the TS compiler. A cold startup is when deno must
compile from scratch.
<div id="exec-time-chart"></div>
<h3>Throughput</h3>
Time it takes to pipe a certain amount of data through Deno.
<a
href="https://github.com/denoland/deno/blob/master/tests/echo_server.ts"
>echo_server.ts</a
>
and
<a href="https://github.com/denoland/deno/blob/master/tests/cat.ts"
>cat.ts</a
>
Smaller is better.
<div id="throughput-chart"></div>
<h3>Req/Sec</h3>
Tests HTTP server performance. 10 keep-alive connections do as many
hello-world requests as possible. Bigger is better.
<ul>
<!-- TODO rename "deno" to "deno_tcp". -->
<li>
<a
href="https://github.com/denoland/deno/blob/master/tests/http_bench.ts"
>deno</a
>
is a fake http server that doesn't parse HTTP. It is comparable to
<a
href="https://github.com/denoland/deno/blob/master/tools/node_tcp.js"
>node_tcp</a
>.
</li>
<li>
<a
href="https://github.com/denoland/deno_std/blob/master/http/http_bench.ts"
>deno_net_http</a
>
is a web server written in TypeScript. It is comparable to
<a
href="https://github.com/denoland/deno/blob/master/tools/node_http.js"
>node_http</a
>.
</li>
<li>
<a
href="https://github.com/denoland/deno/blob/master/tools/hyper_hello.rs"
>hyper</a
>
is a Rust HTTP server and represents an upper bound.
</li>
</ul>
<div id="req-per-sec-chart"></div>
<h3>Executable size</h3>
deno ships only a single binary. We track its size here.
<div id="binary-size-chart"></div>
<h3>Thread count</h3>
How many threads various programs use.
<div id="thread-count-chart"></div>
<h3>Syscall count</h3>
How many total syscalls are performed when executing a given script.
<div id="syscall-count-chart"></div>
<p><a href="./all_benchmark.html">Historical benchmark data</a></p>
</main>
<script src="https://unpkg.com/d3@5.7.0/dist/d3.min.js"></script>
<script src="https://unpkg.com/c3@0.6.7/c3.min.js"></script>
<script type="module">
import { drawCharts } from "./app.js";
drawCharts("recent.json");
</script>
</body>
</html>