MATLAB: растущий хэш-стол
Я использую хеш-таблицу в своем коде, и когда код выполняется, я добавляю ключи и значения в хеш-таблицу. Сначала я думал, что использование хеш-таблицы ускорит мой код, но я ошибся, а использование хеш-таблицы замедлило его. Когда я искал об этом, я понял, что увеличение размера хеш-таблицы и ее запись занимают время, потому что, когда она становится больше, MATLAB ищет большее пространство и ищет большее пространство, которое тратит время.
Есть ли какой-нибудь метод предварительного выделения для хэш-таблиц в MATLAB?
Благодарю.
1 ответ
Я предполагаю, что вы имеете в виду, что вы используете встроенный containers.Map
объект как ваша хеш-таблица. Хотя прямых средств для предварительного выделения такого объекта не существует, я предлагаю использовать либо простой двухколонный массив ячеек, либо java.util.Hashtable
объект, оба из которых гораздо быстрее, чем containers.Map
,
Ссылка: https://undocumentedmatlab.com/blog/using-java-collections-in-matlab