Size: a a a

2020 April 24

AP

Andrey Privalov in Go-go!
Andrey Enshin
@negasus если тип не меняется, то почему мы видим float64 и int как результат операции над float64?
на мой дилетантский взгляд тип результата операции сдвига и тип операнда отличаются

@onokonem хм, интересный зверь эта нетипизировання константа
2.0 у вас не float64. я ж предложил поменять на 2.1<<2
источник

VM

Vladislav Milenin in Go-go!
Nikita Gritsai
А  как тут читатель становиться в очередь?
Проверяешь мапу на наличие очереди, если нет - создаешь, затем добавляешь в нее читателя
источник

VM

Vladislav Milenin in Go-go!
Как только книга освобождается, проверяем есть ли очередь, отдаем первому из нее и соотв удаляем из очереди
Если никого - возвращаем в библиотеку
источник

AE

Andrey Enshin in Go-go!
если оно не float64 то почему %T определяет его как float?

c 2.1 :  constant 2.1 truncated to integer но без поллитра не разберешь
источник

AP

Andrey Privalov in Go-go!
Andrey Enshin
если оно не float64 то почему %T определяет его как float?

c 2.1 :  constant 2.1 truncated to integer но без поллитра не разберешь
источник

AE

Andrey Enshin in Go-go!
теперь ошибка о том, что на флоат не опредён сдвиг
источник

AP

Andrey Privalov in Go-go!
а потом в строке #9 замените b := a << 2 на b := 2.0 << 2
источник

AE

Andrey Enshin in Go-go!
какой же вывод мы можем сделать?
источник

AP

Andrey Privalov in Go-go!
Что 2.0 в вашем примере - это константа, как сказали выше, а не переменная типа float64
источник

AP

Andrey Privalov in Go-go!
2.0 и 2.0 << 2 - разные штуки в итоге
источник

AE

Andrey Enshin in Go-go!
то что она константа - воросов не вызывало)
источник

AE

Andrey Enshin in Go-go!
вопрос почему мы видим такие типы - флоат и инт
источник

AP

Andrey Privalov in Go-go!
Andrey Enshin
вопрос почему мы видим такие типы - флоат и инт
Числовые константы не имеют типа, пока он не будет присвоен явным приведением.
источник

AP

Andrey Privalov in Go-go!
источник

AP

Andrey Privalov in Go-go!
То есть, использование оператора битового сдвига, приводит число 2.0 к типу int
источник

AE

Andrey Enshin in Go-go!
да уж! вот это интересно
источник

VI

Vadim Inshakov in Go-go!
а вы знали про проблемы с GC и мапами?
вот ишьи: https://github.com/golang/go/issues/16070
https://github.com/golang/go/issues/20135

только я не понял, в чем причина. у меня есть большая мапа, которая утекает (нет, не говнокод, мапа используется в простой библиотечке go-cache, создатель ссылается на эти же ишьи), но может кто-нибудь сказать, в чем дело?
Maps that shrink and grow repeatedly used to also cause leaks.

в смысле? если часто удалять/добавлять в мапу, она утекает?
источник

AS

Andrei 🦉 Sergeev in Go-go!
Vadim Inshakov
а вы знали про проблемы с GC и мапами?
вот ишьи: https://github.com/golang/go/issues/16070
https://github.com/golang/go/issues/20135

только я не понял, в чем причина. у меня есть большая мапа, которая утекает (нет, не говнокод, мапа используется в простой библиотечке go-cache, создатель ссылается на эти же ишьи), но может кто-нибудь сказать, в чем дело?
Maps that shrink and grow repeatedly used to also cause leaks.

в смысле? если часто удалять/добавлять в мапу, она утекает?
я бы рекомендовал для долгоживущего кэша использовать более специализированные решения, которые работают вне gc, типа https://github.com/coocood/freecache
источник

AS

Andrei 🦉 Sergeev in Go-go!
заодно можно более явно контролировать потребление памяти
источник

OK

Oleg Kovalov in Go-go!
Andrei 🦉 Sergeev
я бы рекомендовал для долгоживущего кэша использовать более специализированные решения, которые работают вне gc, типа https://github.com/coocood/freecache
тут можно вспомнить и allego/bigcache и VictoriaMetrics/fastcache оба проекта чуть более живы, но! имеют и свои ограничения
источник