Nice tip thanks!
If we have in Blender a lock free and wait free performant Hash table I could substitute for it. I suggest reviewers to actually compile and test the branch to clear any doubt of its correctness.…
hence are not a suitable recommendation. I've refactored that part in a separate function so everyone should be happy now ;)
Just tried using VectorSet and Set for this and it didn't worked. It crashes Blender.
The main reason on using a preallocated vector/array is to allow independent writes to each bucket in a performant way. Do blender set allows preallocation and independent writes?
this will add unnecessary verbosity in a context where is clear what v1 and v2 means
For this technique I use a dual advancing front which a Set/Hash table does not quite map correctly. Is the core of this PR
This will negate the performance gain, Blender set is really slow and this technique works really well, I've spent several days testing and refining it.
Applied
If geometry nodes will let to view randomly selected vertices (by using index of vertex), shouldn't this cause vertex flickering?
I don't think so, this is an initialization step that happens…
I don't know how that file got changed, maybe a merge from main?