diff options
Diffstat (limited to 'cli/bench/throughput.rs')
-rw-r--r-- | cli/bench/throughput.rs | 12 |
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]; |