Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It spawns a new shell for each run and subtracts the average shell startup time from final results. Too much noise


The shell can be disabled, leaving just fork+exec


Yes. If you don't make use of shell builtins/syntax, you can use hyperfine's `--shell=none`/`-N` option to disable the intermediate shell.


You still need to quote the command though. `hyperfine -N ls "$dir"' won't work, you need `hyperfine -N "ls ${dir@Q}"' or something. It'd be better if you could specify commands like with `find -exec'.


Oh that sucks, I really hate when programs impose useless shell parsing instead of letting the user give an argument vector natively.


I don't think it's useless. You can use hyperfine to run multiple benchmarks at the same time, to get a comparison between multiple tools. So if you want it to work without quotes, you need to (1) come up with a way to separate commands and (2) come up with a way to distinguish hyperfine arguments from command arguments. It's doable, but it's also not a great UX if you have to write something like

    hyperfine -N -- ls "$dir" \; my_ls "$dir"


> not a great UX

Looks fine to me. Obviously it's too late to undo that mistake, but a new flag to enable new behavior wouldn't hurt anyone.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: