
Che
01.07.2017
19:12:24

Анатолий
01.07.2017
19:12:43
ну или писать дженерики через рефлексию

Ivan
01.07.2017
19:13:10

Google

Анатолий
01.07.2017
19:13:23
хорошо

Ivan
01.07.2017
19:13:31

Анатолий
01.07.2017
19:14:28
да это наоборот зачот
паники те же эксепшены, но именно так как они должны выглядеть применяясь только по месту

Slava
01.07.2017
19:15:27
Удалил сообщение за расизм

Анатолий
01.07.2017
19:16:09
эксепшены дорогие и авторов языка можно понять, стимулирование программиста бессмысленному обкладыванию кода дорогостоящей операцией быстрому и легкому языку ни к чему

Ivan
01.07.2017
19:16:53

Анатолий
01.07.2017
19:16:58
гг

Ivan
01.07.2017
19:17:08
по сравнению с питоном что ли?))
аль PHP?))

Анатолий
01.07.2017
19:17:20
общая теория относительности даст ответ

Matz
01.07.2017
19:17:32
С такой логикой про запад следует использовать Иван ОС и писать на 1С

Google

Анатолий
01.07.2017
19:18:13
не кормите тролля, епт

Ivan
01.07.2017
19:18:17

Alexander
01.07.2017
19:18:34
Если Ошибка, Тогда Кинуть Эксепшн

Анатолий
01.07.2017
19:18:41
набросил гевара выше, я лишь прокапитанил

Matz
01.07.2017
19:30:06
God damn, real hacker

Che
01.07.2017
19:33:10
хрень какая-то
Write a simple TCP proxy to use concurrency for non-parallel tasks
Create HTTP clients to perform common web interactions
Write a custom DNS server and proxy
Sniff and process packets using the gopacket library
Create extendable tools to expand program functionality
Write your own exploits with the help of insider techniques
И всё?
еще и preorder

Slava
01.07.2017
19:34:42
@ernestodelaserna перечитай правила, пожалуйста

Che
01.07.2017
19:37:40
не делай меня крайним, пожалуйста. я лишь спросил где скачать, можно было нормально ответить что еще нигде. но нет, ты сам решил спровоцировать флуд, но виноват кто-то другой, но не ты.

Slava
01.07.2017
19:38:38
причём тут флуд? ты оскорбляешь людей, выкладываешь фотки краденных карточек, пишешь расистские сообщения
здесь всё таки профессиональное сообщество по интересам, а не двач

Che
01.07.2017
19:39:46
Зачем профессионалы подначивают меня называя бедным?

Анатолий
01.07.2017
19:40:58
Lol

Constantine
01.07.2017
19:41:29
зачем этот скрин?

Pavel
01.07.2017
19:46:45
Ребят, по вашему опыту - долго ли переходить на go?
быстро ли учится язык

Constantine
01.07.2017
19:47:08
да
я вчера на пхп писал
вот настолько порог вхождения хорош

Google

Pavel
01.07.2017
19:47:38
о так это как раз то, что я ищу!
моя остановочка!

Constantine
01.07.2017
19:47:47
тоже на пхп пишешь?))

Pavel
01.07.2017
19:47:55
почти
пишу на java в основном

Constantine
01.07.2017
19:48:04
:D
почти
ахахаха

Slava
01.07.2017
19:48:13
я думаю перейти можно за неделю, понять как правильно писать - за месяц/два

Pavel
01.07.2017
19:49:09
чет я смотрю на kubernetes и docker и понимаю что go стоит попробовать

Constantine
01.07.2017
19:49:29
не факт, что тебе кубернейтс нужен

Pavel
01.07.2017
19:49:49

?FLERRY?
01.07.2017
19:51:01

Pavel
01.07.2017
19:52:44
ага

Ivan
01.07.2017
19:55:30
быстро ли учится язык
За 3 дня освоил основы, перелазил с ноды, так что считаю, что язык достаточно прост в этом плане

Andrey
01.07.2017
19:56:15
Писать коряво можно даже на хаскеле
Вопрос только долетит ли та птица до середины днепра
И хорошо ли, что кривая вхождения настолько крута

Pavel
01.07.2017
19:57:55
о как хорошо сказано!

Ivan
01.07.2017
19:59:27
Да, хорошо

Google

分解物質
01.07.2017
20:45:52
buzzword-driven development

Michael
01.07.2017
21:01:22
какая-то х..ень в чате (

Vasiliy
01.07.2017
21:24:52
Хай, народ ) насколько сильно вас будет коробить если например функция, которая называется ParseMessage([]byte) (*Message, error) будет врапиться над буфером не копируя байты? Или назвали бы функцию как-то иначе?

Constantine
01.07.2017
21:38:54
по скользкой дороге идешь

Admin
ERROR: S client not available

Slava
01.07.2017
21:45:57

Vasiliy
01.07.2017
21:47:43
Да, идеоматически согласен, весь I/O должен копировать, но там типа тема с малым оверхедом сделать. Короч, задача как сказать разработчику явно об этом...
Сейчас попытаюсь объяснить. Это не классический net.Conn или io.Reader... Буфер создает сама либа, которая читает фреймы из сети. То есть она например создает, допустим 10 Мб и читает, отрезая слайсы сначала (в надежде что GC сама высвободит потом) и есть минимальный порог, например в 10 Кб, когда он пересоздает большой буфер. Потребителю вываливаются готовые сообщения. Многие свойства фрейма врапятся для того, чтобы не копировать.

Slava
01.07.2017
22:37:18
1) Что создаёт в 10мб? если это выделенный в памяти массив, то gc ничего не освободит если на него есть ссылки хоть откуда
2) как переиспользуется буфер? как ты поймёшь когда готовое сообщение, ссылающееся на буфер уже не нужно?
ты пытаешься сделать zero memory allocation протокол
тогда никаких буферов не будет

Vasiliy
01.07.2017
22:39:05
Буфер - при чтении. Пересоздание буфера не оставляет в цикле чтения на него ссылок. Ну там пайплайн ) сообщения не должны нигде сохраняться

Slava
01.07.2017
22:40:22
ну раз не должны =)
выглядит как гаубица с лазерным прицелом в ногу
а смысл не ясен

Vasiliy
01.07.2017
22:41:08
Да ) ща накидаю код

Slava
01.07.2017
22:41:10
всё равно ты память выделяешь в итоге

Vasiliy
01.07.2017
22:41:18
var buf []byte
for {
if len(buf) < 10000 {
buf = make([]byte, ...)
}
n, err := conn.Read(buf)
...
ch <- buf[:n]
buf = buf[n: ]
}

Google

Slava
01.07.2017
22:42:36
это чревато проблемами

Vasiliy
01.07.2017
22:42:51
Да, и вкурсе какие это проблемы

Slava
01.07.2017
22:42:55
читай в один буфер, который один раз выделил, копируй в сообщения
по скорости будет лучше

Vasiliy
01.07.2017
22:43:08
Поэтому ищу способ об этом предупредить других разработчиков )

Slava
01.07.2017
22:43:45
смотри, если ты щас не ответишь на мой вопрос, значит ты делаешь это неверно
вопрос такой, ты измерял производительности и тебя она не устроила и новое решение быстрее?
или это просто измышления?

Vasiliy
01.07.2017
22:44:32
Да, бенчмарки показывают небольшой, но оверхед ) примерно 20%
Буфер-пул с sync.Pool еще хуже, там почти в два раза почему-то

Slava
01.07.2017
22:46:37
тебе не нужен синкпул для чтения тут
ты же читаешь в одном треде из сокета
тебе просто нужен буфер байтовый
но если у тебя быстрее работает, то пиши комментарий жирными буквами =)

Vasiliy
01.07.2017
22:48:38
Ок )

Slava
01.07.2017
23:56:00
а кто-то тестировал скорость компиляции в 1.9 ?
с этой параллельной компиляцией функций внутри пакета