[ot][spam][crazy] adapters for semibalanced trees?

Undiscussed Past Horrific Abuse, One Victim Of Many gmkarl at gmail.com
Fri Jul 29 05:58:52 PDT 2022


untested, exfiltrated from the old ipad I wrote it on via qr code after multiple sudden reboots

diff --git a/datagen/process2.cpp b/datagen/process2.cpp
index 1e59d6e..b8388ff 100644
--- a/datagen/process2.cpp
+++ b/datagen/process2.cpp
@@ -49,6 +49,20 @@ struct oid_pair_hash
     }
 };
 
+struct repo_commits
+{
+    ckkxlib2::repository repository;
+    std::vector<cxxlib2::oid> commits;
+    repo_commits(char const * path)
+    : repository(cxxlib2::repository::open(path))
+    {
+        repository.for_each_commit([](const cxxlib2::commit & c)
+        {
+            commits.push_back(c.id());
+        });
+    }
+};
+
 int main(int argc, char **argv)
 {
     int max_diffs_per_commit = 1;
@@ -72,16 +86,19 @@ int main(int argc, char **argv)
 
     srand(seed);
 
+    static thread_local unordered_map<string, repo_commits> repos;
+
     for (unsigned int repo_cycle = 0; repo_cycle < cycles_over_repos; ++ repo_cycle)
     {
         for (char **pathptr = &argv[1]; pathptr != &argv[argc]; ++ pathptr)
         {
-            auto repository = repository::open(*pathptr);
-            static thread_local vector<oid> commit_oids;
-            repository.for_each_commit([](const commit & c)
-            {
-                commit_oids.push_back(c.id());
-            });
+            if (!repos.count(*pathptr)) {
+                repos.emplace(*pathptr, *pathptr);
+            }
+            repo_commits & repo_entry = repos[*pathptr];
+            auto & repository = repo_entry.repository;
+            auto & commit_oids = repo_entry.commits;
+
             random_shuffle(commit_oids.begin(), commit_oids.end());
     
             int commits_output = 0;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/html
Size: 1926 bytes
Desc: not available
URL: <https://lists.cpunks.org/pipermail/cypherpunks/attachments/20220729/683ed2f5/attachment.txt>


More information about the cypherpunks mailing list