summaryrefslogtreecommitdiff
path: root/cli/bench/throughput.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/bench/throughput.rs')
-rw-r--r--cli/bench/throughput.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/cli/bench/throughput.rs b/cli/bench/throughput.rs
index 0be46f142..74844fbed 100644
--- a/cli/bench/throughput.rs
+++ b/cli/bench/throughput.rs
@@ -34,7 +34,17 @@ pub(crate) fn cat(deno_exe: &PathBuf, megs: usize) -> Result<Value> {
pub(crate) fn tcp(deno_exe: &PathBuf, megs: usize) -> Result<Value> {
let size = megs * MB;
- let shell_cmd = format!("head -c {} /dev/zero | nc {}", size, CLIENT_ADDR);
+ // The GNU flavor of `nc` requires the `-N` flag to shutdown the network socket after EOF on stdin
+ let nc_command = if cfg!(target_os = "linux") {
+ "nc -N"
+ } else {
+ "nc"
+ };
+
+ let shell_cmd = format!(
+ "head -c {} /dev/zero | {} {}",
+ size, nc_command, CLIENT_ADDR
+ );
println!("{}", shell_cmd);
let cmd = &["sh", "-c", &shell_cmd];