4 ms·
Part of it could be due to using Rust as the implementation language. Rust has good, cross-platform abstractions over things like threads and processes. The lan
by vlmutolo 6y ago
Part of it could be due to using Rust as the implementation language. Rust has good, cross-platform abstractions over things like threads and processes. The language tends to make it harder to shoot yourself in the foot.
Would definitely like to hear from the authors of Nushell on how their language choice has held up over the course of the project.
- ridiculous_fish 6y agoA related issue is leaking fds into child processes. For example, Go locks around fork() to prevent racing with creating new fds (e.g. from pipe) [1]. Rust doesn't have any synchronization between fork and creating fds; I wonder whether/how this is addressed in nushell. 1: https://golang.org/src/syscall/exec_unix.go?s=7064:7143#L19 https://golang.org/src/syscall/exec_unix.go?s=7064:7143#L19