summaryrefslogtreecommitdiff
path: root/cli/compilers
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2019-11-17 14:14:50 +0100
committerRy Dahl <ry@tinyclouds.org>2019-11-17 08:14:50 -0500
commitf356b2bd5e3d46eaf4147a38a2f7c7e7c2824fbf (patch)
tree3a06e7c15fcbba0587c498b11c498d4b9494c11c /cli/compilers
parent2b3afda625c5818f01a45f52075ac04307224b30 (diff)
refactor: fixes for futures (#3363)
After landing #3358 the benchmarks exploded indicating problems with workers and deno_core_http_bench. This PR dramatically fixes thread/syscall count that showed up on benchmarks. Thread count is not back to previous levels but difference went from hundreds/thousands to about ~50.
Diffstat (limited to 'cli/compilers')
-rw-r--r--cli/compilers/ts.rs4
-rw-r--r--cli/compilers/wasm.rs13
2 files changed, 8 insertions, 9 deletions
diff --git a/cli/compilers/ts.rs b/cli/compilers/ts.rs
index 34bf74ab1..13823b24f 100644
--- a/cli/compilers/ts.rs
+++ b/cli/compilers/ts.rs
@@ -272,8 +272,8 @@ impl TsCompiler {
let worker = TsCompiler::setup_worker(global_state.clone());
let worker_ = worker.clone();
+ worker.post_message(req_msg).unwrap();
let first_msg_fut = async move {
- worker.post_message(req_msg).await.unwrap();
let result = worker.await;
if let Err(err) = result {
// TODO(ry) Need to forward the error instead of exiting.
@@ -382,8 +382,8 @@ impl TsCompiler {
.add("Compile", &module_url.to_string());
let global_state_ = global_state.clone();
+ worker.post_message(req_msg).unwrap();
let first_msg_fut = async move {
- worker.post_message(req_msg).await.unwrap();
let result = worker.await;
if let Err(err) = result {
// TODO(ry) Need to forward the error instead of exiting.
diff --git a/cli/compilers/wasm.rs b/cli/compilers/wasm.rs
index 30a171db4..882e28e43 100644
--- a/cli/compilers/wasm.rs
+++ b/cli/compilers/wasm.rs
@@ -86,14 +86,13 @@ impl WasmCompiler {
let worker_ = worker.clone();
let url = source_file.url.clone();
+ let _res = worker.post_message(
+ serde_json::to_string(&base64_data)
+ .unwrap()
+ .into_boxed_str()
+ .into_boxed_bytes(),
+ );
let fut = worker
- .post_message(
- serde_json::to_string(&base64_data)
- .unwrap()
- .into_boxed_str()
- .into_boxed_bytes(),
- )
- .then(move |_| worker)
.then(move |result| {
if let Err(err) = result {
// TODO(ry) Need to forward the error instead of exiting.