These two methods do exactly the same thing, clear_tt calling dispose_trans_table directly. The original intention with clear_tt was the reset the transposition table without deleting all memory to support better resource re-use. This was, however, buggy and Asan on Linux discovered a real problem that the solver attempted to reuse memory that had been freed.
We should at least not have two methods that do the same thing. Whether clearing and re-using memory would be faster than deleting and reallocating would need performance measurements. We would also need to investigate whether it is feasible to re-use memory. DDS 2.9 used statically allocated memory for transposition tables, which indicates that it should be possible.
These two methods do exactly the same thing,
clear_ttcallingdispose_trans_tabledirectly. The original intention withclear_ttwas the reset the transposition table without deleting all memory to support better resource re-use. This was, however, buggy and Asan on Linux discovered a real problem that the solver attempted to reuse memory that had been freed.We should at least not have two methods that do the same thing. Whether clearing and re-using memory would be faster than deleting and reallocating would need performance measurements. We would also need to investigate whether it is feasible to re-use memory. DDS 2.9 used statically allocated memory for transposition tables, which indicates that it should be possible.