mirror of
https://github.com/denoland/deno.git
synced 2024-11-21 15:04:11 -05:00
chore: release crates (#10269)
* Revert "tooling(bench_util): benching and profiling utilities (#10223)"
This reverts commit 733a000305
.
* Upgrade notify
This commit is contained in:
parent
0cc0196576
commit
3432833574
20 changed files with 178 additions and 112 deletions
45
Cargo.lock
generated
45
Cargo.lock
generated
|
@ -1,7 +1,5 @@
|
||||||
# This file is automatically @generated by Cargo.
|
# This file is automatically @generated by Cargo.
|
||||||
# It is not intended for manual editing.
|
# It is not intended for manual editing.
|
||||||
version = 3
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "Inflector"
|
name = "Inflector"
|
||||||
version = "0.11.4"
|
version = "0.11.4"
|
||||||
|
@ -196,15 +194,6 @@ version = "0.13.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
|
checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "bench_util"
|
|
||||||
version = "0.0.0"
|
|
||||||
dependencies = [
|
|
||||||
"bencher",
|
|
||||||
"deno_core",
|
|
||||||
"tokio",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bencher"
|
name = "bencher"
|
||||||
version = "0.1.5"
|
version = "0.1.5"
|
||||||
|
@ -581,17 +570,17 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "deno_console"
|
name = "deno_console"
|
||||||
version = "0.3.0"
|
version = "0.4.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"deno_core",
|
"deno_core",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "deno_core"
|
name = "deno_core"
|
||||||
version = "0.84.0"
|
version = "0.85.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"bench_util",
|
"bencher",
|
||||||
"futures",
|
"futures",
|
||||||
"indexmap",
|
"indexmap",
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
|
@ -608,7 +597,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "deno_crypto"
|
name = "deno_crypto"
|
||||||
version = "0.17.0"
|
version = "0.18.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"deno_core",
|
"deno_core",
|
||||||
"rand 0.8.3",
|
"rand 0.8.3",
|
||||||
|
@ -632,7 +621,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "deno_fetch"
|
name = "deno_fetch"
|
||||||
version = "0.25.0"
|
version = "0.26.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"data-url",
|
"data-url",
|
||||||
|
@ -648,7 +637,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "deno_file"
|
name = "deno_file"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"deno_core",
|
"deno_core",
|
||||||
"uuid",
|
"uuid",
|
||||||
|
@ -676,7 +665,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "deno_runtime"
|
name = "deno_runtime"
|
||||||
version = "0.11.0"
|
version = "0.12.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"atty",
|
"atty",
|
||||||
"bytes",
|
"bytes",
|
||||||
|
@ -724,7 +713,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "deno_timers"
|
name = "deno_timers"
|
||||||
version = "0.1.0"
|
version = "0.2.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"deno_core",
|
"deno_core",
|
||||||
"tokio",
|
"tokio",
|
||||||
|
@ -732,9 +721,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "deno_url"
|
name = "deno_url"
|
||||||
version = "0.3.0"
|
version = "0.4.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bench_util",
|
"bencher",
|
||||||
"deno_core",
|
"deno_core",
|
||||||
"idna",
|
"idna",
|
||||||
"percent-encoding",
|
"percent-encoding",
|
||||||
|
@ -743,7 +732,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "deno_web"
|
name = "deno_web"
|
||||||
version = "0.33.0"
|
version = "0.34.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"deno_core",
|
"deno_core",
|
||||||
"futures",
|
"futures",
|
||||||
|
@ -751,7 +740,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "deno_webgpu"
|
name = "deno_webgpu"
|
||||||
version = "0.4.0"
|
version = "0.5.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"deno_core",
|
"deno_core",
|
||||||
"serde",
|
"serde",
|
||||||
|
@ -762,14 +751,14 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "deno_webidl"
|
name = "deno_webidl"
|
||||||
version = "0.3.0"
|
version = "0.4.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"deno_core",
|
"deno_core",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "deno_websocket"
|
name = "deno_websocket"
|
||||||
version = "0.8.0"
|
version = "0.9.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"deno_core",
|
"deno_core",
|
||||||
"http",
|
"http",
|
||||||
|
@ -2006,9 +1995,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "notify"
|
name = "notify"
|
||||||
version = "5.0.0-pre.6"
|
version = "5.0.0-pre.7"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e5fd82b93434edb9c00ae65ee741e0e081cdc8c63346ab9f687935a629aaf4c3"
|
checksum = "1ebe7699a0f8c5759450716ee03d231685c22b4fe8f406c42c22e0ad94d40ce7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anymap",
|
"anymap",
|
||||||
"bitflags",
|
"bitflags",
|
||||||
|
@ -2799,7 +2788,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_v8"
|
name = "serde_v8"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bencher",
|
"bencher",
|
||||||
"rusty_v8",
|
"rusty_v8",
|
||||||
|
|
|
@ -7,7 +7,6 @@ members = [
|
||||||
"runtime",
|
"runtime",
|
||||||
"serde_v8",
|
"serde_v8",
|
||||||
"test_plugin",
|
"test_plugin",
|
||||||
"bench_util",
|
|
||||||
"test_util",
|
"test_util",
|
||||||
"op_crates/crypto",
|
"op_crates/crypto",
|
||||||
"op_crates/fetch",
|
"op_crates/fetch",
|
||||||
|
|
|
@ -13,5 +13,5 @@ repository = "https://github.com/denoland/deno"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
bencher = "0.1"
|
bencher = "0.1"
|
||||||
deno_core = { version = "0.84.0", path = "../core" }
|
deno_core = { version = "0.85.0", path = "../core" }
|
||||||
tokio = { version = "1.4.0", features = ["full"] }
|
tokio = { version = "1.4.0", features = ["full"] }
|
||||||
|
|
|
@ -24,8 +24,8 @@ harness = false
|
||||||
path = "./bench/main.rs"
|
path = "./bench/main.rs"
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
deno_core = { path = "../core", version = "0.84.0" }
|
deno_core = { path = "../core", version = "0.85.0" }
|
||||||
deno_runtime = { path = "../runtime", version = "0.11.0" }
|
deno_runtime = { path = "../runtime", version = "0.12.0" }
|
||||||
regex = "1.4.3"
|
regex = "1.4.3"
|
||||||
serde = { version = "1.0.125", features = ["derive"] }
|
serde = { version = "1.0.125", features = ["derive"] }
|
||||||
|
|
||||||
|
@ -34,10 +34,10 @@ winapi = "0.3.9"
|
||||||
winres = "0.1.11"
|
winres = "0.1.11"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
deno_core = { path = "../core", version = "0.84.0" }
|
deno_core = { path = "../core", version = "0.85.0" }
|
||||||
deno_doc = "0.3.0"
|
deno_doc = "0.3.0"
|
||||||
deno_lint = "0.4.0"
|
deno_lint = "0.4.0"
|
||||||
deno_runtime = { path = "../runtime", version = "0.11.0" }
|
deno_runtime = { path = "../runtime", version = "0.12.0" }
|
||||||
|
|
||||||
atty = "0.2.14"
|
atty = "0.2.14"
|
||||||
base64 = "0.13.0"
|
base64 = "0.13.0"
|
||||||
|
@ -58,7 +58,7 @@ lazy_static = "1.4.0"
|
||||||
libc = "0.2.93"
|
libc = "0.2.93"
|
||||||
log = { version = "0.4.14", features = ["serde"] }
|
log = { version = "0.4.14", features = ["serde"] }
|
||||||
lspower = "1.0.0"
|
lspower = "1.0.0"
|
||||||
notify = "5.0.0-pre.6"
|
notify = "5.0.0-pre.7"
|
||||||
percent-encoding = "2.1.0"
|
percent-encoding = "2.1.0"
|
||||||
pin-project = "1.0.6"
|
pin-project = "1.0.6"
|
||||||
regex = "1.4.3"
|
regex = "1.4.3"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
|
# Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
|
||||||
[package]
|
[package]
|
||||||
name = "deno_core"
|
name = "deno_core"
|
||||||
version = "0.84.0"
|
version = "0.85.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
description = "A secure JavaScript/TypeScript runtime built with V8, Rust, and Tokio"
|
description = "A secure JavaScript/TypeScript runtime built with V8, Rust, and Tokio"
|
||||||
authors = ["the Deno authors"]
|
authors = ["the Deno authors"]
|
||||||
|
@ -13,7 +13,7 @@ repository = "https://github.com/denoland/deno"
|
||||||
path = "lib.rs"
|
path = "lib.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
serde_v8 = { version = "0.2.0", path = "../serde_v8" }
|
serde_v8 = { version = "0.3.0", path = "../serde_v8" }
|
||||||
|
|
||||||
anyhow = "1.0.40"
|
anyhow = "1.0.40"
|
||||||
futures = "0.3.13"
|
futures = "0.3.13"
|
||||||
|
@ -34,7 +34,7 @@ path = "examples/http_bench_json_ops.rs"
|
||||||
# These dependencies are only used for the 'http_bench_*_ops' examples.
|
# These dependencies are only used for the 'http_bench_*_ops' examples.
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
tokio = { version = "1.4.0", features = ["full"] }
|
tokio = { version = "1.4.0", features = ["full"] }
|
||||||
bench_util = { version = "0.0.0", path = "../bench_util" }
|
bencher = "0.1"
|
||||||
|
|
||||||
[[bench]]
|
[[bench]]
|
||||||
name = "op_baseline"
|
name = "op_baseline"
|
||||||
|
|
|
@ -1,26 +1,38 @@
|
||||||
// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
|
use bencher::{benchmark_group, benchmark_main, Bencher};
|
||||||
|
|
||||||
use deno_core::error::AnyError;
|
use deno_core::error::AnyError;
|
||||||
use deno_core::op_async;
|
use deno_core::op_async;
|
||||||
use deno_core::op_sync;
|
use deno_core::op_sync;
|
||||||
use deno_core::serialize_op_result;
|
use deno_core::serialize_op_result;
|
||||||
|
use deno_core::v8;
|
||||||
use deno_core::JsRuntime;
|
use deno_core::JsRuntime;
|
||||||
use deno_core::Op;
|
use deno_core::Op;
|
||||||
use deno_core::OpState;
|
use deno_core::OpState;
|
||||||
use deno_core::ZeroCopyBuf;
|
use deno_core::ZeroCopyBuf;
|
||||||
|
|
||||||
use bench_util::bench_or_profile;
|
|
||||||
use bench_util::bencher::{benchmark_group, Bencher};
|
|
||||||
use bench_util::{bench_js_async, bench_js_sync};
|
|
||||||
|
|
||||||
use std::cell::RefCell;
|
use std::cell::RefCell;
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
|
|
||||||
fn setup(rt: &mut JsRuntime) {
|
fn create_js_runtime() -> JsRuntime {
|
||||||
rt.register_op("pi_json", op_sync(|_, _: (), _| Ok(314159)));
|
let mut runtime = JsRuntime::new(Default::default());
|
||||||
rt.register_op("pi_async", op_async(op_pi_async));
|
runtime.register_op("pi_json", op_sync(|_, _: (), _| Ok(314159)));
|
||||||
rt.register_op("nop", |state, _, _| {
|
runtime.register_op("pi_async", op_async(op_pi_async));
|
||||||
|
runtime.register_op("nop", |state, _, _| {
|
||||||
Op::Sync(serialize_op_result(Ok(9), state))
|
Op::Sync(serialize_op_result(Ok(9), state))
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Init ops
|
||||||
|
runtime
|
||||||
|
.execute(
|
||||||
|
"init",
|
||||||
|
r#"
|
||||||
|
Deno.core.ops();
|
||||||
|
Deno.core.registerErrorClass('Error', Error);
|
||||||
|
"#,
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
runtime
|
||||||
}
|
}
|
||||||
|
|
||||||
// this is a function since async closures aren't stable
|
// this is a function since async closures aren't stable
|
||||||
|
@ -32,21 +44,57 @@ async fn op_pi_async(
|
||||||
Ok(314159)
|
Ok(314159)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn bench_runtime_js(b: &mut Bencher, src: &str) {
|
||||||
|
let mut runtime = create_js_runtime();
|
||||||
|
let context = runtime.global_context();
|
||||||
|
let scope = &mut v8::HandleScope::with_context(runtime.v8_isolate(), context);
|
||||||
|
let code = v8::String::new(scope, src).unwrap();
|
||||||
|
let script = v8::Script::compile(scope, code, None).unwrap();
|
||||||
|
b.iter(|| {
|
||||||
|
script.run(scope).unwrap();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn bench_runtime_js_async(b: &mut Bencher, src: &str) {
|
||||||
|
let mut runtime = create_js_runtime();
|
||||||
|
let tokio_runtime = tokio::runtime::Builder::new_current_thread()
|
||||||
|
.enable_all()
|
||||||
|
.build()
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
b.iter(|| {
|
||||||
|
runtime.execute("inner_loop", src).unwrap();
|
||||||
|
let future = runtime.run_event_loop();
|
||||||
|
tokio_runtime.block_on(future).unwrap();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
fn bench_op_pi_json(b: &mut Bencher) {
|
fn bench_op_pi_json(b: &mut Bencher) {
|
||||||
bench_js_sync(b, r#"Deno.core.opSync("pi_json");"#, setup);
|
bench_runtime_js(
|
||||||
|
b,
|
||||||
|
r#"for(let i=0; i < 1e3; i++) {
|
||||||
|
Deno.core.opSync("pi_json", null);
|
||||||
|
}"#,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn bench_op_nop(b: &mut Bencher) {
|
fn bench_op_nop(b: &mut Bencher) {
|
||||||
bench_js_sync(
|
bench_runtime_js(
|
||||||
b,
|
b,
|
||||||
r#"Deno.core.dispatchByName("nop", null, null, null);"#,
|
r#"for(let i=0; i < 1e3; i++) {
|
||||||
setup,
|
Deno.core.dispatchByName("nop", null, null, null);
|
||||||
|
}"#,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn bench_op_async(b: &mut Bencher) {
|
fn bench_op_async(b: &mut Bencher) {
|
||||||
bench_js_async(b, r#"Deno.core.opAsync("pi_async");"#, setup);
|
bench_runtime_js_async(
|
||||||
|
b,
|
||||||
|
r#"for(let i=0; i < 1e3; i++) {
|
||||||
|
Deno.core.opAsync("pi_async", null);
|
||||||
|
}"#,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
benchmark_group!(benches, bench_op_pi_json, bench_op_nop, bench_op_async);
|
benchmark_group!(benches, bench_op_pi_json, bench_op_nop, bench_op_async);
|
||||||
bench_or_profile!(benches);
|
benchmark_main!(benches);
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
[package]
|
[package]
|
||||||
name = "deno_console"
|
name = "deno_console"
|
||||||
version = "0.3.0"
|
version = "0.4.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
description = "Implementation of Console API for Deno"
|
description = "Implementation of Console API for Deno"
|
||||||
authors = ["the Deno authors"]
|
authors = ["the Deno authors"]
|
||||||
|
@ -14,4 +14,4 @@ repository = "https://github.com/denoland/deno"
|
||||||
path = "lib.rs"
|
path = "lib.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
deno_core = { version = "0.84.0", path = "../../core" }
|
deno_core = { version = "0.85.0", path = "../../core" }
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
[package]
|
[package]
|
||||||
name = "deno_crypto"
|
name = "deno_crypto"
|
||||||
version = "0.17.0"
|
version = "0.18.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
description = "Web Cryptography API implementation for Deno"
|
description = "Web Cryptography API implementation for Deno"
|
||||||
authors = ["the Deno authors"]
|
authors = ["the Deno authors"]
|
||||||
|
@ -14,6 +14,6 @@ repository = "https://github.com/denoland/deno"
|
||||||
path = "lib.rs"
|
path = "lib.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
deno_core = { version = "0.84.0", path = "../../core" }
|
deno_core = { version = "0.85.0", path = "../../core" }
|
||||||
rand = "0.8.3"
|
rand = "0.8.3"
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
[package]
|
[package]
|
||||||
name = "deno_fetch"
|
name = "deno_fetch"
|
||||||
version = "0.25.0"
|
version = "0.26.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
description = "Fetch API implementation for Deno"
|
description = "Fetch API implementation for Deno"
|
||||||
authors = ["the Deno authors"]
|
authors = ["the Deno authors"]
|
||||||
|
@ -16,8 +16,8 @@ path = "lib.rs"
|
||||||
[dependencies]
|
[dependencies]
|
||||||
bytes = "1.0.1"
|
bytes = "1.0.1"
|
||||||
data-url = "0.1.0"
|
data-url = "0.1.0"
|
||||||
deno_core = { version = "0.84.0", path = "../../core" }
|
deno_core = { version = "0.85.0", path = "../../core" }
|
||||||
deno_file = { version = "0.2.0", path = "../file" }
|
deno_file = { version = "0.3.0", path = "../file" }
|
||||||
http = "0.2.3"
|
http = "0.2.3"
|
||||||
reqwest = { version = "0.11.2", default-features = false, features = ["rustls-tls", "stream", "gzip", "brotli"] }
|
reqwest = { version = "0.11.2", default-features = false, features = ["rustls-tls", "stream", "gzip", "brotli"] }
|
||||||
serde = { version = "1.0.125", features = ["derive"] }
|
serde = { version = "1.0.125", features = ["derive"] }
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
[package]
|
[package]
|
||||||
name = "deno_file"
|
name = "deno_file"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
description = "File API implementation for Deno"
|
description = "File API implementation for Deno"
|
||||||
authors = ["the Deno authors"]
|
authors = ["the Deno authors"]
|
||||||
|
@ -14,5 +14,5 @@ repository = "https://github.com/denoland/deno"
|
||||||
path = "lib.rs"
|
path = "lib.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
deno_core = { version = "0.84.0", path = "../../core" }
|
deno_core = { version = "0.85.0", path = "../../core" }
|
||||||
uuid = { version = "0.8.2", features = ["v4"] }
|
uuid = { version = "0.8.2", features = ["v4"] }
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
[package]
|
[package]
|
||||||
name = "deno_timers"
|
name = "deno_timers"
|
||||||
version = "0.1.0"
|
version = "0.2.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
description = "Timers API implementation for Deno"
|
description = "Timers API implementation for Deno"
|
||||||
authors = ["the Deno authors"]
|
authors = ["the Deno authors"]
|
||||||
|
@ -14,5 +14,5 @@ repository = "https://github.com/denoland/deno"
|
||||||
path = "lib.rs"
|
path = "lib.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
deno_core = { version = "0.84.0", path = "../../core" }
|
deno_core = { version = "0.85.0", path = "../../core" }
|
||||||
tokio = { version = "1.4.0", features = ["full"] }
|
tokio = { version = "1.4.0", features = ["full"] }
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
[package]
|
[package]
|
||||||
name = "deno_url"
|
name = "deno_url"
|
||||||
version = "0.3.0"
|
version = "0.4.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
description = "URL API implementation for Deno"
|
description = "URL API implementation for Deno"
|
||||||
authors = ["the Deno authors"]
|
authors = ["the Deno authors"]
|
||||||
|
@ -14,13 +14,13 @@ repository = "https://github.com/denoland/deno"
|
||||||
path = "lib.rs"
|
path = "lib.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
deno_core = { version = "0.84.0", path = "../../core" }
|
deno_core = { version = "0.85.0", path = "../../core" }
|
||||||
idna = "0.2.2"
|
idna = "0.2.2"
|
||||||
percent-encoding = "2.1.0"
|
percent-encoding = "2.1.0"
|
||||||
serde = { version = "1.0.125", features = ["derive"] }
|
serde = { version = "1.0.125", features = ["derive"] }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
bench_util = { version = "0.0.0", path = "../../bench_util" }
|
bencher = "0.1"
|
||||||
|
|
||||||
[[bench]]
|
[[bench]]
|
||||||
name = "url_ops"
|
name = "url_ops"
|
||||||
|
|
|
@ -1,29 +1,58 @@
|
||||||
|
use bencher::{benchmark_group, benchmark_main, Bencher};
|
||||||
|
|
||||||
use deno_core::op_sync;
|
use deno_core::op_sync;
|
||||||
|
use deno_core::v8;
|
||||||
use deno_core::JsRuntime;
|
use deno_core::JsRuntime;
|
||||||
|
|
||||||
use bench_util::bench_js_sync;
|
fn create_js_runtime() -> JsRuntime {
|
||||||
use bench_util::bench_or_profile;
|
let mut runtime = JsRuntime::new(Default::default());
|
||||||
use bench_util::bencher::{benchmark_group, Bencher};
|
runtime.register_op("op_url_parse", op_sync(deno_url::op_url_parse));
|
||||||
|
runtime.register_op(
|
||||||
fn setup(rt: &mut JsRuntime) {
|
|
||||||
rt.register_op("op_url_parse", op_sync(deno_url::op_url_parse));
|
|
||||||
rt.register_op(
|
|
||||||
"op_url_parse_search_params",
|
"op_url_parse_search_params",
|
||||||
op_sync(deno_url::op_url_parse_search_params),
|
op_sync(deno_url::op_url_parse_search_params),
|
||||||
);
|
);
|
||||||
rt.register_op(
|
runtime.register_op(
|
||||||
"op_url_stringify_search_params",
|
"op_url_stringify_search_params",
|
||||||
op_sync(deno_url::op_url_stringify_search_params),
|
op_sync(deno_url::op_url_stringify_search_params),
|
||||||
);
|
);
|
||||||
|
|
||||||
deno_url::init(rt);
|
runtime
|
||||||
rt.execute("setup", "const { URL } = globalThis.__bootstrap.url;")
|
.execute(
|
||||||
|
"bootstrap",
|
||||||
|
"globalThis.__bootstrap = (globalThis.__bootstrap || {});",
|
||||||
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
deno_url::init(&mut runtime);
|
||||||
|
runtime
|
||||||
|
.execute(
|
||||||
|
"init",
|
||||||
|
r#"
|
||||||
|
Deno.core.ops();
|
||||||
|
Deno.core.registerErrorClass('Error', Error);
|
||||||
|
"#,
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
runtime
|
||||||
|
.execute("setup", "const { URL } = globalThis.__bootstrap.url;")
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
runtime
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn bench_runtime_js(b: &mut Bencher, src: &str) {
|
||||||
|
let mut runtime = create_js_runtime();
|
||||||
|
let context = runtime.global_context();
|
||||||
|
let scope = &mut v8::HandleScope::with_context(runtime.v8_isolate(), context);
|
||||||
|
let code = v8::String::new(scope, src).unwrap();
|
||||||
|
let script = v8::Script::compile(scope, code, None).unwrap();
|
||||||
|
b.iter(|| {
|
||||||
|
script.run(scope).unwrap();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
fn bench_url_parse(b: &mut Bencher) {
|
fn bench_url_parse(b: &mut Bencher) {
|
||||||
bench_js_sync(b, r#"new URL(`http://www.google.com/${i}`);"#, setup);
|
bench_runtime_js(b, r#"new URL(`http://www.google.com/`);"#);
|
||||||
}
|
}
|
||||||
|
|
||||||
benchmark_group!(benches, bench_url_parse,);
|
benchmark_group!(benches, bench_url_parse,);
|
||||||
bench_or_profile!(benches);
|
benchmark_main!(benches);
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
[package]
|
[package]
|
||||||
name = "deno_web"
|
name = "deno_web"
|
||||||
version = "0.33.0"
|
version = "0.34.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
description = "Collection of Web APIs"
|
description = "Collection of Web APIs"
|
||||||
authors = ["the Deno authors"]
|
authors = ["the Deno authors"]
|
||||||
|
@ -14,7 +14,7 @@ repository = "https://github.com/denoland/deno"
|
||||||
path = "lib.rs"
|
path = "lib.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
deno_core = { version = "0.84.0", path = "../../core" }
|
deno_core = { version = "0.85.0", path = "../../core" }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
futures = "0.3.13"
|
futures = "0.3.13"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
[package]
|
[package]
|
||||||
name = "deno_webgpu"
|
name = "deno_webgpu"
|
||||||
version = "0.4.0"
|
version = "0.5.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
description = "WebGPU implementation for Deno"
|
description = "WebGPU implementation for Deno"
|
||||||
authors = ["the Deno authors"]
|
authors = ["the Deno authors"]
|
||||||
|
@ -14,7 +14,7 @@ repository = "https://github.com/denoland/deno"
|
||||||
path = "lib.rs"
|
path = "lib.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
deno_core = { version = "0.84.0", path = "../../core" }
|
deno_core = { version = "0.85.0", path = "../../core" }
|
||||||
tokio = { version = "1.4.0", features = ["full"] }
|
tokio = { version = "1.4.0", features = ["full"] }
|
||||||
serde = { version = "1.0.125", features = ["derive"] }
|
serde = { version = "1.0.125", features = ["derive"] }
|
||||||
wgpu-core = { version = "0.7.0", features = ["trace"] }
|
wgpu-core = { version = "0.7.0", features = ["trace"] }
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
[package]
|
[package]
|
||||||
name = "deno_webidl"
|
name = "deno_webidl"
|
||||||
version = "0.3.0"
|
version = "0.4.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
description = "WebIDL implementation for Deno"
|
description = "WebIDL implementation for Deno"
|
||||||
authors = ["the Deno authors"]
|
authors = ["the Deno authors"]
|
||||||
|
@ -14,4 +14,4 @@ repository = "https://github.com/denoland/deno"
|
||||||
path = "lib.rs"
|
path = "lib.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
deno_core = { version = "0.84.0", path = "../../core" }
|
deno_core = { version = "0.85.0", path = "../../core" }
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
[package]
|
[package]
|
||||||
name = "deno_websocket"
|
name = "deno_websocket"
|
||||||
version = "0.8.0"
|
version = "0.9.0"
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
description = "Implementation of WebSocket API for Deno"
|
description = "Implementation of WebSocket API for Deno"
|
||||||
authors = ["the Deno authors"]
|
authors = ["the Deno authors"]
|
||||||
|
@ -14,7 +14,7 @@ repository = "https://github.com/denoland/deno"
|
||||||
path = "lib.rs"
|
path = "lib.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
deno_core = { version = "0.84.0", path = "../../core" }
|
deno_core = { version = "0.85.0", path = "../../core" }
|
||||||
http = "0.2.3"
|
http = "0.2.3"
|
||||||
serde = { version = "1.0.125", features = ["derive"] }
|
serde = { version = "1.0.125", features = ["derive"] }
|
||||||
tokio = { version = "1.4.0", features = ["full"] }
|
tokio = { version = "1.4.0", features = ["full"] }
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
[package]
|
[package]
|
||||||
name = "deno_runtime"
|
name = "deno_runtime"
|
||||||
version = "0.11.0"
|
version = "0.12.0"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
authors = ["the Deno authors"]
|
authors = ["the Deno authors"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
@ -18,34 +18,34 @@ name = "hello_runtime"
|
||||||
path = "examples/hello_runtime.rs"
|
path = "examples/hello_runtime.rs"
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
deno_console = { path = "../op_crates/console", version = "0.3.0" }
|
deno_console = { path = "../op_crates/console", version = "0.4.0" }
|
||||||
deno_core = { path = "../core", version = "0.84.0" }
|
deno_core = { path = "../core", version = "0.85.0" }
|
||||||
deno_crypto = { path = "../op_crates/crypto", version = "0.17.0" }
|
deno_crypto = { path = "../op_crates/crypto", version = "0.18.0" }
|
||||||
deno_fetch = { path = "../op_crates/fetch", version = "0.25.0" }
|
deno_fetch = { path = "../op_crates/fetch", version = "0.26.0" }
|
||||||
deno_file = { path = "../op_crates/file", version = "0.2.0" }
|
deno_file = { path = "../op_crates/file", version = "0.3.0" }
|
||||||
deno_timers = { path = "../op_crates/timers", version = "0.1.0" }
|
deno_timers = { path = "../op_crates/timers", version = "0.2.0" }
|
||||||
deno_url = { path = "../op_crates/url", version = "0.3.0" }
|
deno_url = { path = "../op_crates/url", version = "0.4.0" }
|
||||||
deno_web = { path = "../op_crates/web", version = "0.33.0" }
|
deno_web = { path = "../op_crates/web", version = "0.34.0" }
|
||||||
deno_webgpu = { path = "../op_crates/webgpu", version = "0.4.0" }
|
deno_webgpu = { path = "../op_crates/webgpu", version = "0.5.0" }
|
||||||
deno_webidl = { path = "../op_crates/webidl", version = "0.3.0" }
|
deno_webidl = { path = "../op_crates/webidl", version = "0.4.0" }
|
||||||
deno_websocket = { path = "../op_crates/websocket", version = "0.8.0" }
|
deno_websocket = { path = "../op_crates/websocket", version = "0.9.0" }
|
||||||
|
|
||||||
[target.'cfg(windows)'.build-dependencies]
|
[target.'cfg(windows)'.build-dependencies]
|
||||||
winres = "0.1.11"
|
winres = "0.1.11"
|
||||||
winapi = "0.3.9"
|
winapi = "0.3.9"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
deno_console = { path = "../op_crates/console", version = "0.3.0" }
|
deno_console = { path = "../op_crates/console", version = "0.4.0" }
|
||||||
deno_core = { path = "../core", version = "0.84.0" }
|
deno_core = { path = "../core", version = "0.85.0" }
|
||||||
deno_crypto = { path = "../op_crates/crypto", version = "0.17.0" }
|
deno_crypto = { path = "../op_crates/crypto", version = "0.18.0" }
|
||||||
deno_fetch = { path = "../op_crates/fetch", version = "0.25.0" }
|
deno_fetch = { path = "../op_crates/fetch", version = "0.26.0" }
|
||||||
deno_file = { path = "../op_crates/file", version = "0.2.0" }
|
deno_file = { path = "../op_crates/file", version = "0.3.0" }
|
||||||
deno_timers = { path = "../op_crates/timers", version = "0.1.0" }
|
deno_timers = { path = "../op_crates/timers", version = "0.2.0" }
|
||||||
deno_url = { path = "../op_crates/url", version = "0.3.0" }
|
deno_url = { path = "../op_crates/url", version = "0.4.0" }
|
||||||
deno_web = { path = "../op_crates/web", version = "0.33.0" }
|
deno_web = { path = "../op_crates/web", version = "0.34.0" }
|
||||||
deno_webgpu = { path = "../op_crates/webgpu", version = "0.4.0" }
|
deno_webgpu = { path = "../op_crates/webgpu", version = "0.5.0" }
|
||||||
deno_webidl = { path = "../op_crates/webidl", version = "0.3.0" }
|
deno_webidl = { path = "../op_crates/webidl", version = "0.4.0" }
|
||||||
deno_websocket = { path = "../op_crates/websocket", version = "0.8.0" }
|
deno_websocket = { path = "../op_crates/websocket", version = "0.9.0" }
|
||||||
|
|
||||||
atty = "0.2.14"
|
atty = "0.2.14"
|
||||||
bytes = "1"
|
bytes = "1"
|
||||||
|
@ -58,7 +58,7 @@ indexmap = "1.6.2"
|
||||||
lazy_static = "1.4.0"
|
lazy_static = "1.4.0"
|
||||||
libc = "0.2.93"
|
libc = "0.2.93"
|
||||||
log = "0.4.14"
|
log = "0.4.14"
|
||||||
notify = "5.0.0-pre.6"
|
notify = "5.0.0-pre.7"
|
||||||
percent-encoding = "2.1.0"
|
percent-encoding = "2.1.0"
|
||||||
regex = "1.4.3"
|
regex = "1.4.3"
|
||||||
ring = "0.16.20"
|
ring = "0.16.20"
|
||||||
|
|
|
@ -78,6 +78,7 @@ fn get_notify_error_class(error: ¬ify::Error) -> &'static str {
|
||||||
PathNotFound => "NotFound",
|
PathNotFound => "NotFound",
|
||||||
WatchNotFound => "NotFound",
|
WatchNotFound => "NotFound",
|
||||||
InvalidConfig(_) => "InvalidData",
|
InvalidConfig(_) => "InvalidData",
|
||||||
|
MaxFilesWatch => "Error",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
|
# Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
|
||||||
[package]
|
[package]
|
||||||
name = "serde_v8"
|
name = "serde_v8"
|
||||||
version = "0.2.0"
|
version = "0.3.0"
|
||||||
authors = ["the Deno authors"]
|
authors = ["the Deno authors"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
description = "Rust to V8 serialization and deserialization"
|
description = "Rust to V8 serialization and deserialization"
|
||||||
|
|
Loading…
Reference in a new issue