I have a fairly large 2D slice of strings, about 115M rows. These are (parent, child) pairs that, processed recursively, form a tree. I am "materializing" all possible trees as well as determining for each root node all child nodes for all levels for it.
I am using the simple sort.Search() to locate each parent and, without profiling, I suspect that a large chunk of time is being spent in that sort.Search() function. Since the data is static, I am leveraging multiple go routines, but find that 3 concurrent searches for Win7 and 7 concurrent on Linux is optimum. Some of the larger trees are still taking 20+ minutes to process. So concurrency helps, but has limits. I wondered if there were a way to significantly improve the search performance. A search of godoc turned up some in-memory key-value stores; but probably excessive for what I need. I was thinking of a btree index of the parent column returning the index might do the trick. Any advice? Thanks... -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.