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

Принятый ответ

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