snix/snix
Domen Kožar ba0a01e7aa fix(eval): avoid stat calls in builtins.readDir
Use entry.file_type() instead of entry.metadata().file_type() to avoid
unnecessary stat syscalls. The file_type() method uses the cached d_type
field from the readdir() syscall when available, eliminating the need
for additional filesystem access.

This matches the behavior described in https://github.com/NixOS/nix/pull/13412
where readDir should only read directory entries without stat'ing each file.

Change-Id: I8983f84a7cff28b2c892d5829b9880ed22be4389
Reviewed-on: https://cl.snix.dev/c/snix/+/30596
Reviewed-by: Florian Klink <flokli@flokli.de>
Tested-by: besadii
2025-07-04 16:41:14 +00:00
..
.vscode chore(snix): s/tvix/snix/ 2025-03-17 17:15:08 +00:00
boot chore(boot): rename figlet-generated text from "Tvix" to "Snix" 2025-04-04 08:32:28 +00:00
build build/oci: look up subgid from username 2025-06-12 07:23:13 +00:00
build-go chore(3p/nixpkgs): bump channels (2025-04-21) 2025-04-24 08:42:42 +00:00
castore fix(castore/fs): enter the runtime context before blocking on tasks 2025-06-29 15:35:18 +00:00
castore-go chore(snix/castore-go): use any instead of interface{} 2025-04-24 08:43:13 +00:00
castore-http chore(castore-http): upgrade to 2024 edition 2025-05-04 14:30:03 +00:00
cli feat(glue): Add hashed_mirrors support to eval fetcher 2025-06-11 09:45:16 +00:00
docs docs(snix/docs/TODO): drop Store config section 2025-05-05 17:39:55 +00:00
eval fix(eval): avoid stat calls in builtins.readDir 2025-07-04 16:41:14 +00:00
glue feat(glue): Implement hashed_mirrors download logic for fetchurl. 2025-06-30 14:06:23 +00:00
nar-bridge chore(nar-bridge): upgrade to 2024 edition 2025-07-01 09:04:27 +00:00
nix-compat docs(nix-compat/derivation/parser): explain why from_algo_and_mode_and_digest lives here 2025-06-11 12:49:26 +00:00
nix-compat-derive chore(third_party/sources): Update 2025-03-18 23:23:16 +00:00
nix-compat-derive-tests chore(snix): s/tvix/snix/ 2025-03-17 17:15:08 +00:00
nix-daemon fix(treewide): remove trailing whitespace 2025-03-22 17:29:59 +00:00
nix-lang-test-suite chore(snix): s/tvix/snix/ 2025-03-17 17:15:08 +00:00
serde chore(serde): upgrade to 2024 edition 2025-05-02 21:20:10 +00:00
store fix(snix/store/redb): no blocking IO in list() without spawn_blocking 2025-06-29 15:35:18 +00:00
store-go chore(3p/nixpkgs): bump channels (2025-04-21) 2025-04-24 08:42:42 +00:00
tracing chore(tracing): upgrade to 2024 edition 2025-05-02 22:33:47 +00:00
verify-lang-tests chore(3p/nixpkgs): bump channels (2025-04-21) 2025-04-24 08:42:42 +00:00
.gitignore chore(snix): s/tvix/snix/ 2025-03-17 17:15:08 +00:00
Cargo.lock feat(glue): Add hashed_mirrors support to eval fetcher 2025-06-11 09:45:16 +00:00
Cargo.nix chore(nar-bridge): upgrade to 2024 edition 2025-07-01 09:04:27 +00:00
Cargo.toml feat(snix/castore-http): initial implementation 2025-04-14 14:43:25 +00:00
clippy.toml chore(snix): s/tvix/snix/ 2025-03-17 17:15:08 +00:00
crate-hashes.json fix(treewide): add missing final newlines 2025-03-21 13:33:32 +00:00
default.nix feat(snix/rust-docs): fail build if there's broken references 2025-04-12 15:17:41 +00:00
LICENSE chore(snix): s/tvix/snix/ 2025-03-17 17:15:08 +00:00
logo.webp chore(snix): s/tvix/snix/ 2025-03-17 17:15:08 +00:00
shell.nix fix(tvix/shell): simplify darwin-specific overrides 2025-03-18 23:07:01 +00:00
utils.nix feat(snix/castore-http): initial implementation 2025-04-14 14:43:25 +00:00