1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 07:14:47 -05:00
denoland-deno/cli
Divy Srivastava 53606de634
BREAKING(ffi/unstable): always return u64 as bigint (#23981)
The mixed `number | bigint` representation was useful optimization for
pointers. Now, pointers are represented as V8 externals. As part of the
FFI stabilization effort we want to make `bigint` the only
representation for `u64` and `i64`.

BigInt representation performance is almost on par with mixed
representation with the added benefit that its less confusing and users
don't need manual checks and conversions for doing operations on the
value.

```
cpu: AMD Ryzen 5 7530U with Radeon Graphics
runtime: deno 1.43.6+92a8d09 (x86_64-unknown-linux-gnu)

file:///home/divy/gh/ffi/main.ts
benchmark                 time (avg)        iter/s             (min … max)       p75       p99      p995
-------------------------------------------------------------------------- -----------------------------
nop                        4.01 ns/iter 249,533,690.5     (3.97 ns … 10.8 ns) 3.97 ns 4.36 ns 9.03 ns
ret bigint                 7.74 ns/iter 129,127,186.8    (7.72 ns … 10.46 ns) 7.72 ns 8.11 ns 8.82 ns
ret i32                    7.81 ns/iter 128,087,100.5    (7.77 ns … 12.72 ns) 7.78 ns 8.57 ns 9.75 ns
ret bigint (add op)       15.02 ns/iter  66,588,253.2   (14.64 ns … 24.99 ns) 14.76 ns 19.13 ns 19.44 ns
ret i32    (add op)       12.02 ns/iter  83,209,131.8   (11.95 ns … 18.18 ns) 11.98 ns 13.11 ns 14.5 ns
```
2024-05-28 09:31:09 +05:30
..
args FUTURE(ext/fs): stabilize file system APIs (#23968) 2024-05-27 23:43:07 +00:00
bench refactor: remove custom utc_now in favor of chrono::Utc:now feature (#23888) 2024-05-23 13:59:11 +02:00
cache fix: use hash of in-memory bytes only for code cache (#23966) 2024-05-24 10:15:46 -04:00
js fix(runtime): use more null proto objects (#23921) 2024-05-23 00:03:35 +02:00
lsp FUTURE: initial support for .npmrc file (#23560) 2024-05-23 23:26:23 +02:00
napi chore: forward v1.43.6 release commit to main (#23936) 2024-05-22 01:35:04 +00:00
npm fix(npm): set up node_modules/.bin/ entries for package that provide bin entrypoints (#23496) 2024-05-23 23:43:38 +00:00
ops refactor(jupyter): use runtimelib for Jupyter structures and directory paths (#23826) 2024-05-21 22:35:21 +02:00
schemas feat(cli): add support for jsxImportSourceTypes (#23419) 2024-04-30 18:12:35 +00:00
standalone chore(cli): remove extract_standalone path from CLI (#23982) 2024-05-26 09:43:20 +05:30
tools fix(coverage): handle ignore patterns (#23974) 2024-05-28 12:37:30 +09:00
tsc BREAKING(ffi/unstable): always return u64 as bigint (#23981) 2024-05-28 09:31:09 +05:30
util fix(npm): set up node_modules/.bin/ entries for package that provide bin entrypoints (#23496) 2024-05-23 23:43:38 +00:00
auth_tokens.rs fix(cli): Add IP address support to DENO_AUTH_TOKEN (#22297) 2024-02-06 19:45:40 +01:00
build.rs fix: upgrade TypeScript from 5.4.3 to 5.4.5 (#23740) 2024-05-08 13:54:56 -04:00
Cargo.toml fix: use hash of in-memory bytes only for code cache (#23966) 2024-05-24 10:15:46 -04:00
cdp.rs refactor(tools/repl): reorganize code (#21810) 2024-01-05 16:14:58 +01:00
deno.ico fix(cli): add icon and metadata to deno.exe on Windows (#6693) 2020-07-15 21:54:38 +02:00
emit.rs perf(cache): compile ts to js in parallel for deno cache (#23892) 2024-05-20 13:49:12 -04:00
entitlements.plist chore: start codesigning mac release builds (#21303) 2023-11-23 15:30:26 -07:00
errors.rs fix: upgrade to deno_ast 0.33 (#22341) 2024-02-09 01:40:26 +00:00
factory.rs fix: use hash of in-memory bytes only for code cache (#23966) 2024-05-24 10:15:46 -04:00
file_fetcher.rs chore: enable clippy::print_stdout and clippy::print_stderr (#23732) 2024-05-08 22:45:06 -04:00
graph_container.rs fix(node): seperate worker module cache (#23634) 2024-05-16 07:09:35 +00:00
graph_util.rs fix(node): seperate worker module cache (#23634) 2024-05-16 07:09:35 +00:00
http_util.rs FUTURE: initial support for .npmrc file (#23560) 2024-05-23 23:26:23 +02:00
integration_tests_runner.rs chore: continue tests/ re-org (#22396) 2024-02-12 17:13:14 -07:00
js.rs chore(cli): remove problematic snapshot test (#22722) 2024-03-05 19:11:33 -07:00
jsr.rs fix(lsp): apply import fix to missing declaration code action (#23924) 2024-05-21 21:15:16 +01:00
main.rs chore(cli): remove extract_standalone path from CLI (#23982) 2024-05-26 09:43:20 +05:30
mainrt.rs chore: enable clippy::print_stdout and clippy::print_stderr (#23732) 2024-05-08 22:45:06 -04:00
module_loader.rs fix: use hash of in-memory bytes only for code cache (#23966) 2024-05-24 10:15:46 -04:00
node.rs perf: analyze cjs exports and emit typescript in parallel (#23856) 2024-05-18 11:42:03 -04:00
README.md docs(cli): do not need gen doc for cli (#17260) 2023-01-04 13:19:58 +01:00
resolver.rs fix(cli): use CliNodeResolver::resolve() for managed node_modules (#23902) 2024-05-21 17:54:15 +01:00
version.rs chore: update copyright to 2024 (#21753) 2024-01-01 19:58:21 +00:00
worker.rs feat(serve): support --port 0 to use an open port (#23846) 2024-05-17 05:38:50 +00:00

Deno CLI Crate

crates

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

The deno crate uses the deno_core to provide the executable.