1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-25 15:29:32 -05:00
A modern runtime for JavaScript and TypeScript. https://deno.com/
Find a file
Bert Belder 7807afa972
core: make Isolate use FuturesUnordered to track ops
Additionally, instead of polling ops in a loop until none of them are
ready, the isolate will now yield to the task system after delivering
the first batch of completed ops to the javascript side.

Although this makes performance a bit worse (about 15% fewer
requests/second on the 'deno_core_http_bench' benchmark), we feel that
the advantages are worth it:

* It resolves the extremely high worst-case latency that we were seeing
  on deno_core_http_bench, in particular when using the multi-threaded
  Tokio runtime, which would sometimes exceed a full second.

* Before this patch, the implementation of Isolate::poll() had to loop
  through all sub-futures and poll each one of them, which doesn't scale
  well as the number of futures managed by the isolate goes up. This
  could lead to poor performance when e.g. a server is servicing
  thousands of connected clients.
2019-04-16 22:54:33 +02:00
.github web design (#1728) 2019-02-11 17:41:13 -05:00
build@89b12c4642 Upgrade V8 to 7.4.98 (kKeep fix) (#1640) 2019-02-06 23:43:31 -05:00
build_extra third_party: upgrade rust crates 2019-04-15 18:56:29 +02:00
cli Implement async module loading in CLI (#2084) 2019-04-16 15:13:42 -04:00
core core: make Isolate use FuturesUnordered to track ops 2019-04-16 22:54:33 +02:00
js Implement async module loading in CLI (#2084) 2019-04-16 15:13:42 -04:00
prebuilt Upload mac/sccache that doesn't link to openssl (#1929) 2019-03-14 18:49:41 -04:00
tests Implement async module loading in CLI (#2084) 2019-04-16 15:13:42 -04:00
third_party@f512ec385a third_party: upgrade rust crates 2019-04-15 18:56:29 +02:00
tools Add max memory benchmark (#2061) 2019-04-16 13:57:05 -04:00
website Add max memory benchmark (#2061) 2019-04-16 13:57:05 -04:00
.appveyor.yml Move //libdeno to //core/libdeno (#2015) 2019-03-30 14:45:36 -04:00
.editorconfig editorconfig: Don't insert final newline in .out files (#1686) 2019-02-07 11:31:49 -05:00
.eslintignore Migrate from tslint to eslint for linting (#1905) 2019-03-09 12:30:38 -05:00
.eslintrc.json Migrate from tslint to eslint for linting (#1905) 2019-03-09 12:30:38 -05:00
.gitattributes Add LSAN build to travis. 2018-12-03 15:31:06 -08:00
.gitignore Fix behavior for extensionless files with .mime file (#1779) 2019-02-15 11:05:29 -05:00
.gitmodules Replace deno.land/x/std with deno.land/std (#1890) 2019-03-06 10:23:47 -05:00
.gn Turn on v8_postmortem_support (#1758) 2019-02-13 21:54:01 -05:00
.prettierignore Revert "Rewrite tools/format.py in deno (#1528)" (#1752) 2019-02-12 15:20:32 -05:00
.prettierrc.json tools/format: format markdown files with prettier 2018-10-04 02:02:23 -07:00
.rustfmt.toml Make rustfmt format macro bodies also 2019-02-08 20:06:21 -08:00
.travis.yml Move //libdeno to //core/libdeno (#2015) 2019-03-30 14:45:36 -04:00
.yarnclean Cleanup node_modules, update packages (#1894) 2019-03-07 08:53:56 -05:00
BUILD.gn Move //libdeno to //core/libdeno (#2015) 2019-03-30 14:45:36 -04:00
build_overrides move v8 to third_party/v8 (#322) 2018-07-03 10:15:32 +02:00
buildtools move v8 to third_party/v8 (#322) 2018-07-03 10:15:32 +02:00
Cargo.lock third_party: upgrade rust crates 2019-04-15 18:56:29 +02:00
Cargo.toml Move //libdeno to //core/libdeno (#2015) 2019-03-30 14:45:36 -04:00
deno.gni Move //libdeno to //core/libdeno (#2015) 2019-03-30 14:45:36 -04:00
Docs.md web design (#1728) 2019-02-11 17:41:13 -05:00
gclient_config.py upgrade V8 to 7.4.238 (#1849) 2019-02-27 15:37:55 -05:00
LICENSE Happy new year! 2019-01-02 02:37:08 +01:00
node_modules chore: reorganize symlinks 2018-07-06 01:57:32 -04:00
package.json Upgrade to TypeScript 3.4.1 (#2027) 2019-04-01 12:47:25 -04:00
README.md Website updates (#1984) 2019-03-22 11:34:47 -04:00
Releases.md v0.3.7 2019-04-11 15:35:21 -04:00
rollup.config.js Move //libdeno to //core/libdeno (#2015) 2019-03-30 14:45:36 -04:00
testing move v8 to third_party/v8 (#322) 2018-07-03 10:15:32 +02:00
tsconfig.json Move //libdeno to //core/libdeno (#2015) 2019-03-30 14:45:36 -04:00

deno

A secure runtime for JavaScript and TypeScript built with V8, Rust, and Tokio.

Linux & Mac Windows

Deno aims to provide a productive and secure scripting environment for the modern programmer. It is built on top of V8, Rust, and TypeScript.

Please read the introduction for more specifics.

Website

Manual

Install

API Reference

Style Guide

Module Repository

Releases

Chat

More links