0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-10-30 09:08:00 -04:00
A modern runtime for JavaScript and TypeScript. https://deno.com/
Find a file
Divy Srivastava 022aae9854
perf(core): use jemalloc for V8 array buffer allocator (#18875)
This commits changes "deno_core" to use jemalloc allocator as an
allocator
for V8 array buffers. This greatly improves our GC characteristics as we
are using
a lot of short lived array buffers. They no longer go through the
expensive
malloc/free cycle using the default Rust allocator, but instead use
jemallocator's
memory pool.

As a result the flamegraphs for WS/HTTP server flamegraphs no longer
show
stacks for malloc/free around ops that use ZeroCopyBuf and &[u8].

---------

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-05-02 20:17:11 +05:30
.cargo fix: upgrade deno_ast to 0.23 (#17269) 2023-01-04 18:54:54 -05:00
.devcontainer chore: update devcontainer configuration (#15751) 2022-09-03 02:21:41 +02:00
.github chore(ext/websocket): readd autobahn|testsuite fuzzingclient (#18903) 2023-05-01 14:37:32 +02:00
bench_util chore: release extension crates, unpin tokio (#18954) 2023-05-02 11:30:11 +00:00
cli chore: release extension crates, unpin tokio (#18954) 2023-05-02 11:30:11 +00:00
core perf(core): use jemalloc for V8 array buffer allocator (#18875) 2023-05-02 20:17:11 +05:30
ext chore: release extension crates, unpin tokio (#18954) 2023-05-02 11:30:11 +00:00
ops chore: release extension crates, unpin tokio (#18954) 2023-05-02 11:30:11 +00:00
runtime chore: release extension crates, unpin tokio (#18954) 2023-05-02 11:30:11 +00:00
serde_v8 chore: release extension crates, unpin tokio (#18954) 2023-05-02 11:30:11 +00:00
test_ffi feat(ext/ffi): support marking symbols as optional (#18529) 2023-04-03 21:32:21 +03:00
test_napi Revert "refactor: don't expose Deno[Deno.internal].core namespace" (#18881) 2023-04-28 00:37:03 +02:00
test_util chore: remove tokio-tungstenite dependency (#18814) 2023-04-23 23:56:55 -04:00
third_party@ee59830ca2 feat(lint): add Deno.run to no-deprecated-deno-api (#18869) 2023-04-27 02:52:52 +00:00
tools chore: forward v1.33.1 release commit to main (#18897) 2023-04-28 21:14:26 +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 chore(ext/websocket): readd autobahn|testsuite fuzzingclient (#18903) 2023-05-01 14:37:32 +02: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 chore(ext/websocket): readd autobahn|testsuite fuzzingclient (#18903) 2023-05-01 14:37:32 +02:00
.gitmodules feat(ext/ffi): Implement FFI fast-call trampoline with Dynasmrt (#15305) 2022-09-07 12:23:56 +05:30
.rustfmt.toml chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
Cargo.lock perf(core): use jemalloc for V8 array buffer allocator (#18875) 2023-05-02 20:17:11 +05:30
Cargo.toml chore: release extension crates, unpin tokio (#18954) 2023-05-02 11:30:11 +00:00
LICENSE.md chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
README.md docs(readme): Update readme (#18677) 2023-04-17 01:08:05 +02:00
Releases.md chore: forward v1.33.1 release commit to main (#18897) 2023-04-28 21:14:26 +02:00
rust-toolchain.toml feat(ext/kv): return versionstamp from set/commit (#18512) 2023-03-30 20:57:21 +02: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:

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:

import { serve } from "https://deno.land/std@0.182.0/http/server.ts";

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

More examples.

Additional Resources

Contributing

We appreciate your help!

To contribute, please read our contributing instructions.