Yura
А зачем дерево? Heap!
Yura
Угадай, как таймеры в Go работают? Используют heap.
Yura
Но это нужно, если время удаления не строго "текущее время + константная дельта", т.е. если может быть произвольным.
В противном случае, лучше просто список.
Nikolay
Угадай, как таймеры в Go работают? Используют heap.
зачем угадывать? я прекрасно читаю Go-код, вся реализация как они работают есть на гитхабе в рантайме Go. при чем тут куча в оперативе я так и не понял, может имелось ввиду что структуры таймера в куче хранятся? ну это и так поняно, что не на стеке.
Nikolay
А зачем дерево? Heap!
дерево, чтобы не создавать миллион таймеров. почему? - смотри реализацию таймеров в Go, планировщиков в Go и тд. Также дерево, чтобы конкурентно вставлять и удалять из дерева данные, также оно отсортировано.
Yura
Хинт: у меня маленький коммитик в гошные таймеры. Не то, чем стоит гордиться, просто к тому, что я в теме.
Yura
Я тебе дал ссылки. Если ты путаешь heap - структуру данных и heap - организацию памяти, это много говорит о твоем знании "теории".
Почитай по ссылкам.
BTW экскурс в историю: динамическая память стала называться heap, т.к. в перых реализациях широко использовалась структура данных heap.
В общем, иди читай википедию.
Yura
Забавно, что ты поигнорировал мое сообщение о моем коммите в реализацию гошных таймеров. Т.е. с высоты твоего невежества, ты даже не хочешь читать, что тебе пишет оппонент.
Yura
https://github.com/golang/go/blob/master/src/runtime/time.go
// Add a timer to the heap
// Delete timer t from the heap.
// Heap maintenance algorithms.
Nikolay
молодец, нашел
Yura
А теперь покажи, где там сортированное дерево.
А потом пойди и почитай таки ссылки на википедию: для чего придумана структура данных HEAP? Почему binary heap так часто для таймеров используют?
Расширяй кругозор.
Nikolay
Yura
Я с телефона, гитхаб номера строк в телефоне не выводит. Что в строке 91?
Nikolay
Yura
Чтобы не создавать миллион таймеров? Для этого и куча сойдёт, а она в реализации проще дерева. А написать конкурентное сбалансированное дерево - еще то упражнение.
Если ты такие пишешь, снимаю перед тобою шляпу.
А лок на слайс - это правда. Потому я уже раза два писал свои таймеры поверх встроенных. Только проблема решается просто: заводишь много слайсов с локом на каждый, и вставляешь в разные.
Собственно valyala так и предлагает починить таймеры в 1.9, и 99% вероятностью его патч будет принят.
Nikolay
Yura
Т.е. сейчас, зная, что его патч будет принят, я сто раз подумаю, прежде чем свои таймеры писать.
А учитывая, что в оригинале Станислав предлагал по горутине на элемент, очевидно у него десятки миллионов элементов не предвидятся.
Yura
Yura
Да, ты не ответил: ты писал сбалансированное дерево, поддерживающее конкурентную вставку/удаление? Я бы хотел поучиться. Да и статья на хабре, думаю, много бы набрала плюсов.
Yura
Прости, вероятно для своей задачи ты писал.
Nikolay
Yura
Твоя реализация - коммерческая тайна? Очень хочется посмотреть. (Я искренне, без издевки).
Yura
Просто, я более-меннее в однопоточных алгоритмах подкован, но когда до параллельности доходит, ничего лучше чем "пошардить и по локу на шард" выдать не могу.
Yura
К чести признать, чаще всего шардирование решает задачу.
Nikolay
я могу дать пейпер где я немного идей спер
Nikolay
я как раз нашел в закладках
Nikolay
http://www.cs.technion.ac.il/~erez/Papers/lfbtree-full.pdf
Yura
Ок, спасибо :-)
Constantine️
не в тот чат ты пришел, мне кажется
🏳️ Phil
ты чатик перепутал
Constantine️
не
Constantine️
это не к нам
Constantine️
беда какая
Constantine️
как ты с этим живешь?
Constantine️
чувак
Constantine️
ну каммон
Constantine️
свали отсюда
Constantine️
ага
ainu
robots.txt. параметр crawl-delay
ainu
Более правильный способ отдавать заголовки last change или етокен
ainu
Тогда робот узнает дату если не менялась не запрашивает, но это код достаточно сложный, кешировать и все такое
ainu
Вообще, миллион хитов с Яндекс робота это нормально. С этим надо учиться жить.
ainu
Небось поддомены сделали
ainu
У нас спасает эластик серч, который, нагрузку фильтров на себя берет.
ainu
Страница не найдена.
Nikolay
похоже)
ainu
Миллион в сутки с Яндекса это нормально. Спам это когда повторяется useragent или посетители из камбоджи.
ainu
А если ты про amigo.uz, то похоже
Sergey
Забаньте этого товарища, а то потом придут другие
Oleg
Надо таких досить
ainu
Нет
ainu
Если план это обмен ссылками то нет
ainu
Нет конечно
ainu
Наоборот
ainu
Минутку
Oleg
@amigo_uz ведете себя без уважения. Так бизнес не построить, Чувак
Constantine️
в бан его и всё )
Constantine️
пускай дальше сеошников развлекает
Sergey
Мерль, или кто ещё из модеров, забаньте сеошника плиз
Мерль
вжух
Oleg
Мерль
Ничего не имею против Узбекистана, но всё равно огонь
ainu
Действительно клаудфлер
ainu
ab -n 10000 -c 600 http://amigo.uz/
Выдержал
ainu
Правда, некоторые хиты 26 секунд отдавал
igor
ainu
Не поможет
ainu
Надо по уникальным урлам бить или через post чтобы клаудфлер не ккшировал
ainu
Хрен с ним
Oleg
http://amigo.uz/phpmyadmin
ainu
Я думал у чувака проблема, Яндекс боты делают миллион запросов. Сталкивался, обидно бывает. А он оказывается говорил про "миллион уников с seo"
ainu
А если у тебя миллион уников с сео ты либо с заработанного бабла нанимаешь команду которая все переписывает начисто, либо ты дибил и не умеешь делать деньги. Тут скорее всего просто врет.
Мерль
[last news]
SWIFT takes over Golang in latest TIOBE ranking
ainu
Что там Паскаль делает?
Roman
что с растом? будет ли успешен?