Find a file
Divy Srivastava 1cda3840ff
perf(node): use faster utf8 byte length in Buffer#from (#20746)
Use the `core.byteLength` op for string utf8 length calculation in
`node:buffer`

```
# This patch
file:///Users/divy/gh/deno/buffer.mjs
benchmark        time (avg)        iter/s             (min … max)       p75       p99      p995
----------------------------------------------------------------- -----------------------------
Buffer#from     272.11 ns/iter   3,675,029.3 (268.41 ns … 301.15 ns) 271.62 ns  295.5 ns 301.15 ns

# Deno 1.37.1
file:///Users/divy/gh/deno/buffer.mjs
benchmark        time (avg)        iter/s             (min … max)       p75       p99      p995
----------------------------------------------------------------- -----------------------------
Buffer#from     411.28 ns/iter   2,431,428.8 (393.82 ns … 439.92 ns) 418.85 ns  434.4 ns 439.92 ns
```
2023-09-30 20:04:40 +05:30
.cargo chore: Add a local-build.toml to make downstream packaging from sourc… (#20236) 2023-08-24 08:46:57 -06:00
.devcontainer fix(devcontainer): Add build deps and update extension in devcontainer (#20467) 2023-09-12 15:33:07 +00:00
.github chore: forward v1.37.1 release commit to main (#20706) 2023-09-27 09:13:48 +00:00
bench_util chore: forward v1.37.1 release commit to main (#20706) 2023-09-27 09:13:48 +00:00
cli feat(node/os): Add availableParallelism (#20745) 2023-09-30 19:51:06 +05:30
ext perf(node): use faster utf8 byte length in Buffer#from (#20746) 2023-09-30 20:04:40 +05:30
runtime fix(jupyter): more robust Deno.jupyter namespace (#20710) 2023-09-28 16:51:44 +02:00
test_ffi feat(unstable): Improve FFI types (#20215) 2023-08-21 13:36:26 +05:30
test_napi chore(cli): use NPM_CONFIG_REGISTRY for all tests (#20320) 2023-08-29 13:02:54 -06:00
test_util fix(lsp): resolve remote import maps (#20651) 2023-09-24 18:00:15 +01:00
tools test(node_compat): add test-http-url.parse* (#20458) 2023-09-30 10:14:48 +02:00
.dlint.json chore: update dlint to v0.37.0 for GitHub Actions (#17295) 2023-01-16 17:17:18 +01:00
.dprint.json fix(fmt/markdown): improve ignore comment handling (#20421) 2023-09-08 16:38:42 +00:00
.editorconfig editorconfig: Don't insert final newline in .out files (#1686) 2019-02-07 11:31:49 -05:00
.gitattributes fix(test): support typechecking docs with CRLF line endings (#12748) 2021-11-15 09:58:04 -05:00
.gitignore feat: Add "deno jupyter" subcommand (#20337) 2023-09-16 02:42:09 +02:00
.gitmodules chore: remove third_party submodule (#20201) 2023-08-19 09:56:12 +05:30
.rustfmt.toml chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
Cargo.lock feat(lsp): jupyter notebook analysis (#20719) 2023-09-29 20:44:59 +01:00
Cargo.toml refactor(ext/node): remove dependency on deno_npm and deno_semver (#20718) 2023-09-28 22:43:45 +02:00
LICENSE.md chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
README.md docs(contributing): Fix README link to contributing docs (#20526) 2023-09-16 21:54:28 +00:00
Releases.md chore: forward v1.37.1 release commit to main (#20706) 2023-09-27 09:13:48 +00:00
rust-toolchain.toml chore: bump Rust to 1.72.1 and cargo update (#20572) 2023-09-20 01:48:36 +00:00

Deno

Twitter badge Discord badge YouTube badge

the deno mascot dinosaur standing in the rain

Deno is a simple, modern and secure runtime for JavaScript and TypeScript that uses V8 and is built in Rust.

Features

Install

Shell (Mac, Linux):

curl -fsSL https://deno.land/install.sh | sh

PowerShell (Windows):

irm https://deno.land/install.ps1 | iex

Homebrew (Mac):

brew install deno

Chocolatey (Windows):

choco install deno

Scoop (Windows):

scoop install deno

Build and install from source using Cargo:

# Install the Protobuf compiler
apt install -y protobuf-compiler # Linux
brew install protobuf # macOS

# Build and install Deno
cargo install deno --locked

See deno_install and releases for other options.

Getting Started

Try running a simple program:

deno run https://deno.land/std/examples/welcome.ts

Or setup a simple HTTP server:

Deno.serve((_req) => new Response("Hello, World!"));

More Examples

Additional Resources

Contributing

We appreciate your help!

To contribute, please read our contributing instructions.