0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-03-03 17:34:47 -05:00
deno/cli
Ryan Dahl 161cf7cdfd
refactor: Use Tokio's single-threaded runtime (#3844)
This change simplifies how we execute V8. Previously V8 Isolates jumped
around threads every time they were woken up. This was overly complex and
potentially hurting performance in a myriad ways. Now isolates run on
their own dedicated thread and never move.

- blocking_json spawns a thread and does not use a thread pool
- op_host_poll_worker and op_host_resume_worker are non-operational
- removes Worker::get_message and Worker::post_message
- ThreadSafeState::workers table contains WorkerChannel entries instead
  of actual Worker instances.
- MainWorker and CompilerWorker are no longer Futures.
- The multi-threaded version of deno_core_http_bench was removed.
- AyncOps no longer need to be Send + Sync

This PR is very large and several tests were disabled to speed
integration:
- installer_test_local_module_run
- installer_test_remote_module_run
- _015_duplicate_parallel_import
- _026_workers
2020-02-03 18:08:44 -05:00
..
compilers refactor: Use Tokio's single-threaded runtime (#3844) 2020-02-03 18:08:44 -05:00
js Make fetch API more standards compliant (#3667) 2020-02-03 15:54:47 +01:00
ops refactor: Use Tokio's single-threaded runtime (#3844) 2020-02-03 18:08:44 -05:00
tests refactor: Use Tokio's single-threaded runtime (#3844) 2020-02-03 18:08:44 -05:00
build.rs feat: support crate imports in deno_typescript (#3814) 2020-02-01 12:02:23 +01:00
Cargo.toml refactor: Use Tokio's single-threaded runtime (#3844) 2020-02-03 18:08:44 -05:00
checksum.rs feat: lockfiles (#3231) 2019-11-03 10:39:27 -05:00
colors.rs Remove dead code in cli/shell.rs (#3792) 2020-01-26 11:40:28 -05:00
deno_dir.rs Happy new year! (#3578) 2020-01-02 15:13:47 -05:00
deno_error.rs refactor: reduce number of ErrorKind variants (#3662) 2020-01-20 10:50:16 -05:00
diagnostics.rs Happy new year! (#3578) 2020-01-02 15:13:47 -05:00
disk_cache.rs Do not panic and improve error message on cache failure (#3784) 2020-01-24 17:16:31 -05:00
file_fetcher.rs Use tokio::test for some of cli's unit tests (#3868) 2020-02-03 08:53:50 -05:00
flags.rs Add support for multiple files in fetch command (#3845) 2020-01-31 16:07:37 -05:00
fmt.rs upgrade: dprint 0.3.0-alpha.6 2020-02-03 15:52:32 -05:00
fmt_errors.rs workers: minimal error handling and async module loading (#3665) 2020-01-17 18:43:53 -05:00
fs.rs refactor: reduce number of ErrorKind variants (#3662) 2020-01-20 10:50:16 -05:00
global_state.rs refactor: Use Tokio's single-threaded runtime (#3844) 2020-02-03 18:08:44 -05:00
global_timer.rs Happy new year! (#3578) 2020-01-02 15:13:47 -05:00
http_util.rs Use tokio::test for some of cli's unit tests (#3868) 2020-02-03 08:53:50 -05:00
import_map.rs Rename crates: 'deno' to 'deno_core' and 'deno_cli' to 'deno' (#3600) 2020-01-05 11:56:18 -05:00
installer.rs Remove //tests symlink (#3849) 2020-02-02 16:55:22 -05:00
js.rs workers: proper TS libs, more spec-compliant APIs (#3812) 2020-01-29 18:54:23 +01:00
lib.rs refactor: Use Tokio's single-threaded runtime (#3844) 2020-02-03 18:08:44 -05:00
lockfile.rs feat: lockfiles (#3231) 2019-11-03 10:39:27 -05:00
main.rs Rename crates: 'deno' to 'deno_core' and 'deno_cli' to 'deno' (#3600) 2020-01-05 11:56:18 -05:00
metrics.rs Refactor Worker and ThreadSafeState (#3242) 2019-11-04 10:38:52 -05:00
msg.rs refactor: reduce number of ErrorKind variants (#3662) 2020-01-20 10:50:16 -05:00
permissions.rs dx: descriptive permission errors (#3808) 2020-01-27 21:13:17 -05:00
progress.rs Happy new year! (#3578) 2020-01-02 15:13:47 -05:00
README.md update readmes (#3765) 2020-01-23 22:32:52 +01:00
repl.rs Rename crates: 'deno' to 'deno_core' and 'deno_cli' to 'deno' (#3600) 2020-01-05 11:56:18 -05:00
resolve_addr.rs Rename crates: 'deno' to 'deno_core' and 'deno_cli' to 'deno' (#3600) 2020-01-05 11:56:18 -05:00
shell.rs Remove dead code in cli/shell.rs (#3792) 2020-01-26 11:40:28 -05:00
signal.rs Add signal handlers (#3757) 2020-01-24 08:15:31 -05:00
source_maps.rs Remove //tests symlink (#3849) 2020-02-02 16:55:22 -05:00
startup_data.rs Rename crates: 'deno' to 'deno_core' and 'deno_cli' to 'deno' (#3600) 2020-01-05 11:56:18 -05:00
state.rs refactor: Use Tokio's single-threaded runtime (#3844) 2020-02-03 18:08:44 -05:00
test_util.rs Happy new year! (#3578) 2020-01-02 15:13:47 -05:00
tokio_util.rs refactor: Use Tokio's single-threaded runtime (#3844) 2020-02-03 18:08:44 -05:00
version.rs Rename crates: 'deno' to 'deno_core' and 'deno_cli' to 'deno' (#3600) 2020-01-05 11:56:18 -05:00
web_worker.rs refactor: Use Tokio's single-threaded runtime (#3844) 2020-02-03 18:08:44 -05:00
worker.rs refactor: Use Tokio's single-threaded runtime (#3844) 2020-02-03 18:08:44 -05:00

Deno CLI Crate

crates docs

This provides the actual deno executable and the user-facing APIs.

The deno crate uses the deno_core and deno_typescript to provide the executable.