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

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