Периодический таймер запускает цикл, которому нужно сохранить массив значений.
Дальше происходят некоторые некоторые действия, после чего нужно очистить массив чтобы не было конфликтов в следующем вызове таймера.
Допустим в массиве 200 элементов. и их нужно обнулить.
Первое решение: создать еще один цикл 200 и обнулять каждой по очереди.
Второе решение: сохранять не в массив, а в хеш таблицу и делать одно действие вместо цикла FlushChildHashtable(udg_hash,key)

циклом медленнее
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
38
Подозреваю, Хеш быстрее если ты один ключ дропаешь
6
ScorpioT1000, Да в том и смысл, использовать хеш таблицу, чтобы сбрасывать все по одному ключу. И вот вопрос в том как хеш таблица сбрасывает этот ключ. Не будет ли она делать столько же действий под капотом сколько и очистка циклом?. Как эта очистка происходит?
38
CopyPaster, не должна, это же хештаблица хештаблиц. Поэтому 2 ключа. У обычной только один ключ, нельзя найти что-то по половине ключа. Хз зачем они сделали двойную, но так и живем
Но ты всегда можешь проверить, сделав 2 варианта по 1к элементов и сравнить таймером или лаг на глаз
30
У меня есть стойкое чувство, что с алгоритмом беда. Так как это жасс, то почему просто не сдвинуть курсор массива в ноль?
28
Я уверен, что цикл медленнее будет, но вечером по приколу проверю бенчмарком
28
Принятый ответ
циклом медленнее
Загруженные файлы
16
массив всегда быстрее, но цикл на жассе по ощущениям окажеся медленнее вызовов к хт
38
DracoL1ch, на крестах обход массива в 100 элементов тоже может быть медленнее удаления одного ключа хт
Чтобы оставить комментарий, пожалуйста, войдите на сайт.