
Daniel
09.10.2018
11:56:35
nats лучше

Илья
09.10.2018
11:56:41
но проблем с gc я там не наблюдал

Andrei
09.10.2018
11:56:56

Daniel
09.10.2018
11:56:59
а их там и нет

Google

Daniel
09.10.2018
11:57:08

Илья
09.10.2018
11:57:23

snip
09.10.2018
11:57:24

Daniel
09.10.2018
11:57:33
не падает

Andrei
09.10.2018
11:57:46
и как оно? реально готовая альтернатива кафки или сыровато пока?

snip
09.10.2018
11:58:06
А nsq падает? При каких условиях?

Sergey
09.10.2018
11:58:24
не падает
лучше расскажи как себя ведет когда падает

Daniel
09.10.2018
11:58:31
:)

Илья
09.10.2018
11:58:36
как пример нагруженного, большого проекта, centrifugo

Daniel
09.10.2018
11:58:38
я не знаю, на самом деле

Sergey
09.10.2018
11:58:41
потому что пока не падают - они все котики

Daniel
09.10.2018
11:58:47
мы его тестили, но в прод так и не взяли
nsq у нас и на тестах падал, под нагрузкой

Google

Илья
09.10.2018
11:59:25
а то, что есть слабые разработчики, которые, зачем то, пилят на go круды, а не генерят код из сваггер доки, это не проблемы языка

Andrei
09.10.2018
12:01:47
простите, не удержался

Илья
09.10.2018
12:02:50
я вам не друг, коллега, у вас вечно бомбит

anatolii
09.10.2018
12:02:57

Daniel
09.10.2018
12:03:14
тааааак

Eugenii
09.10.2018
12:03:19
сильные обычно сами столы носят

Daniel
09.10.2018
12:03:28
коллеги, не надо развивать эту тему, пожалуйста

?
09.10.2018
12:06:37
Biscuit is a monolithic, POSIX-subset operating system kernel in Go for x86-64 CPUs. It was written to study the performance trade-offs of using a high-level language with garbage collection to implement a kernel with a common style of architecture. You can find the research paper about Biscuit here: https://www.usenix.org/system/files/osdi18-cutler.pdf
https://github.com/mit-pdos/biscuit


Daniel
09.10.2018
12:09:10
10 Conclusions
Our subjective experience using Go to implement the Biscuit
kernel has been positive. Go’s high-level language
features are helpful in the context of a kernel. Examination
of historical Linux kernel bugs due to C suggests that
a type- and memory-safe language such as Go might avoid
real-world bugs, or handle them more cleanly than C.
The ability to statically analyze Go helped us implement
defenses against kernel heap exhaustion, a traditionally
difficult task.
The paper presents measurements of some of the performance
costs of Biscuit’s use of Go’s HLL features, on a
set of kernel-intensive benchmarks. The fraction of CPU
time consumed by garbage collection and safety checks
is less than 15%. The paper compares the performance of
equivalent kernel code paths written in C and Go, finding
that the C version is about 15% faster.
We hope that this paper helps readers to make a decision
about whether to write a new kernel in C or in an
HLL.
чет я ожидал, что будет сильно хуже. а тут прям бери и пиши


Mykyta
09.10.2018
12:17:22


Roman
09.10.2018
12:18:39


Мерлин
09.10.2018
12:18:42

Mykyta
09.10.2018
12:19:26

Мерлин
09.10.2018
12:19:40

Roman
09.10.2018
12:23:00
Need a new kernel? Use a proper systems programming language: https://www.redox-os.org
писать OS kernel на языке без статической безопасности, GC и относительно слабой оптимизацией компилятором это блин просто маразм как по мне..

Daniel
09.10.2018
12:23:42
коллега, это все досужие рассуждения
люди взяли и запилили
и выводы их позитивные

Mykyta
09.10.2018
12:24:55
если там все через unsage.Pointer, то го от си ничем не отличается)

Google

Мерлин
09.10.2018
12:27:50
я вот читаю — судя по всему на бенчмарках они сравнивали по сути производительнсть ассемблерной части бисквита с ядром на C
и всё на unsafe.Pointer насколько я понимаю
ну такое
опять же, как гошный GC себя поведёт в долгом режиме работы — бабка надвое сказала
В общем-то подобные ядра пишут и писали на любом языке, вплоть до js и lua
к тому же они по сути сделали borrow checker а-ля руст для написания ядра
с другой стороны работа всё-таки интересная, правда код, судя по всему, увидеть нельзя

Sergey
09.10.2018
12:30:25

Roman
09.10.2018
12:31:13

Mykyta
09.10.2018
12:31:53


Мерлин
09.10.2018
12:33:33
про borrow checker там что нибудь написано?
Ну не совсем BC, но очень похоже на рустовские проверки
6.3
Static analysis to find s
We have developed a tool, M AX LIVE, that analyzes the
Biscuit source code and the Go packages Biscuit uses
to find s for each system call. The core challenge is
detecting statically when allocated memory can no longer
be live, since many system calls allocate memory for
transient uses. Other challenges include analyzing loops
with non-constant bounds, and determining reservations
for background kernel activities that are not associated
with a specific system call.

Roman
09.10.2018
12:36:49
hmmm

Mykyta
09.10.2018
12:43:57


Roman
09.10.2018
12:55:43
кстати мне сегодня во сне мысль пришла..
func Take(mutableInt int) {
/*...*/
}
func main() {
var immutableInt immut int = 42
Take(immutableInt) // Compile-time error
}
поумолчанию, следуя правилам, мы не можем принять immut int как mut int потому-что immut->mut casting нелегально
но... это-ж скалярный тип.. он же всё-равно копируется.. для него же можно сделать исключение и разрешить в данном случае данный cast. Т.е. разрешить casting скалярных иммут в мут (но только скалярных).
?

Mykyta
09.10.2018
12:58:26

Roman
09.10.2018
12:58:32
эднако это актуально только в случае mutability by default, в ином случае когда поумолчанию всё имутабельно такой проблемы быть не должно

Roman
09.10.2018
12:59:08
workflow не сильно изменится, а вот O&B меняет workflow коллосально

Vadim
09.10.2018
13:23:09
Результаты бенчмарков Go 1.0 c Go 1.11 от Дейва Чейни. ??
https://gist.github.com/davecheney/311169ef04e27fe469ca91859af9cdff

Dmitri
09.10.2018
13:42:43

Nick
09.10.2018
14:20:28
на ios тоже

Макс
09.10.2018
17:24:55
добрый вечер
подскажите как реализовать url с переменным значением
ПР. Route::get('/blog/{id}/{title} в ларавеле

Google

Ilya
09.10.2018
17:27:28

Admin
ERROR: S client not available

Roman
09.10.2018
17:28:17
Go 2.0 не будет ещё очень долгое время, лет эдак 5
Go2 это лишь маркетинговое название Go 1.13 and beyond
хотя на самом деле, если они будут внедрять новые ключевые слова типа check тогда я думаю это нарушает обратную совмсетимость, однако это конечно спорный вопрос
потому-что сама спефицификация языка не ломается, но вот старый код может не скомпилиться по причине конфликтов имён символов с новыми ключевыми словами

Макс
09.10.2018
17:29:38

Aleksandr
09.10.2018
17:30:02

Макс
09.10.2018
17:31:54

Aleksandr
09.10.2018
17:32:07

Макс
09.10.2018
17:32:53
спасибо пойду разбираться

Aleksandr
09.10.2018
17:33:33
не мучай себя, если речь не идет о паре хэндлеров. возьми chi

Макс
09.10.2018
17:34:01
еще вопрос если я изменю r.Url.Path то ответ же придет

Aleksandr
09.10.2018
17:34:56
зачем?

Макс
09.10.2018
17:35:25

Aleksandr
09.10.2018
17:35:55

Макс
09.10.2018
17:36:11
понял спасибо
но все же если я изменю r.Url.Path то ответ придет или нет

Aleksandr
09.10.2018
17:37:00
зачем?
это запрос. запрос не надо менять.

Google

Макс
09.10.2018
17:51:19
не понял о чем вы

Aleksandr
09.10.2018
17:52:27
r.Url.Path - это урл запроса. Запрос менять не надо.

Макс
09.10.2018
17:54:55
оставил пост запросы

Интернет Магазин
09.10.2018
18:21:11
Добрый вечер
Мужики а что сейчас популярно из franework - ов на ГО ?

Roman
09.10.2018
18:21:53

Интернет Магазин
09.10.2018
18:21:58
По большей части для API нужен
А кроме стандартных ?

Marlik
09.10.2018
18:22:49

Интернет Магазин
09.10.2018
18:25:51
А что на счёт GIN или Echo ?