BLI_array_store still performed poorly for boolean arrays or any arrays where many memory chunks had identical contents since the temporary hash had many collisions, making lookups slow. Resolve by ensuring duplicate chunks aren't added to the hash table. Also increase the memory chunk size for edit-mesh undo to 64kb which performs well with high poly meshes as it reduces the overhead of having to manage many small memory chunks. Notes: - Before this change performance was quite bad (10-20x worse than v3.3). - Performance from the test in #105046 is roughly the same as before. - Performance of #105205 compared with v3.3 is close, even faster at times but varies much more (likely caused by threading).