diff --git a/Rhea/Program.cs b/Rhea/Program.cs
index 78fa787..3d12b02 100644
--- a/Rhea/Program.cs
+++ b/Rhea/Program.cs
@@ -26,115 +26,6 @@ foreach (var fieldInfo in typeof(NarConsts).GetFields())
);
}
-int maxVerifySize = 8_192_000;
-
-// return;
-// while (true)
-// foreach (var srcPath in (string[])[
-// "/etc/nix/nix.conf",
-// FileUtils.GetBinDir() + "/Rhea.runtimeconfig.json",
-// "/etc/nix",
-// ".",
-// "/nix/store/06d2xkrl3h1pbyg3m1whz1mvhafqgsqq-source",
-// "/nix/store/0l93s9x3z2s9p4r58jls0xiyk64hwkxz-source",
-// "/nix/store/2g4sa9xcir93nckzib9iq1ky6ly6azgw-7j1q60m17gf95k3s0gk2qvjqygnp1q36-source"
-// ])
-// foreach (var srcPath in (string[])["/nix/store/7j1q60m17gf95k3s0gk2qvjqygnp1q36-source"])
-Parallel.ForEach(FileUtils.EnumerateDirectory("/nix/store")
- // .Where(x => x is not DirectoryInfo)
- .Select(x => x.FullName),
- new() { MaxDegreeOfParallelism = 32 },
- srcPath =>
- // foreach (var srcPath in FileUtils.EnumerateDirectory("/nix/store").Select(x=>x.FullName))
- {
- var sw = Stopwatch.StartNew();
- TimeSpan oldTime, newTime;
- var log = "";
- log += ($"\n - {srcPath}:");
- bool tooLarge = false;
- // Console.WriteLine($"Original {srcPath}:");
-
- var origBuf = new List<byte>();
- var nixProcess = Process.Start(new ProcessStartInfo("nix", ["nar", "dump-path", srcPath])
- {
- RedirectStandardOutput = true
- });
- int b;
- byte[] oldBuf = new byte[16384];
- while ((b = nixProcess.StandardOutput.BaseStream.Read(oldBuf)) != 0)
- {
- if (!tooLarge)
- {
- if (origBuf.Count < maxVerifySize)
- origBuf.AddRange(oldBuf[..b]);
- else tooLarge = true;
- }
- // Console.WriteLine(b + " @ " + sw.Elapsed + " -> " + Util.BytesToString(origBuf.Count));
- // Thread.Sleep(1);
- }
-
- // origBuf.ToArray().HexDump(64);
- oldTime = sw.GetElapsedAndRestart();
-
- // Console.WriteLine($"\nNew {srcPath}:");
- List<byte> tbuf = [];
- // List<byte> buf = [];
- foreach (var chunk in new NarWriter().GetNarStreamContents(srcPath))
- {
- // Console.WriteLine($"ret Chunk({chunk.Length})");
- if (!tooLarge)
- {
- if (tbuf.Count < maxVerifySize)
- tbuf.AddRange(chunk);
- else tooLarge = true;
- }
- // buf.AddRange(chunk);
- // while (buf.Count > 64)
- // {
- // byte[] data = buf[..64].ToArray();
- // buf = buf[64..];
- // data.HexDump(64);
- // }
- }
-
- // buf.ToArray().HexDump(64);
- newTime = sw.GetElapsedAndRestart();
-
- log += ($"\nOld time: {oldTime}, new time: {newTime}");
- if (!tooLarge)
- {
- log += ("\nIs equal: " + origBuf.SequenceEqual(tbuf));
- if (!origBuf.SequenceEqual(tbuf))
- {
- // File.WriteAllBytes("a", origBuf.ToArray().AsHexString().AsBytes().ToArray());
- // File.WriteAllBytes("b", tbuf.ToArray().AsHexString().AsBytes().ToArray());
- var origStdout = Console.Out;
- using (var fs = File.OpenWrite("a"))
- {
- using var fsw = new StreamWriter(fs);
- Console.SetOut(fsw);
- origBuf.HexDump(width: 16, colorize: false);
- Console.SetOut(origStdout);
- }
-
- using (var fs = File.OpenWrite("b"))
- {
- using var fsw = new StreamWriter(fs);
- Console.SetOut(fsw);
- tbuf.HexDump(width: 16, colorize: false);
- Console.SetOut(origStdout);
- }
-
- Console.WriteLine(log);
- Environment.Exit(0);
- }
- }
- else log += "\nToo large to check consistency";
-
- Console.WriteLine(log);
- }
-);
-
return;
var builder = WebApplication.CreateBuilder(args);
|