@gogolang

Страница 1584 из 1630
Savely
18.10.2018
14:29:45
да и пофиг, им и так вроде норм
было бы пофиг, не спорь они о том, что их святой яваскрипт быстрей плюсов))

против адекватных ничего против не имею

Kirill
18.10.2018
14:30:15
было бы пофиг, не спорь они о том, что их святой яваскрипт быстрей плюсов))
да это чет совсем отсталые ребята, не обращай внимания)

Roman
18.10.2018
14:31:04
эм, а взять свой транспорт с кастомным dialtls?
да вот... придётся своё колесо пилить

Google
Roman
18.10.2018
14:31:58
Roman
18.10.2018
14:34:06
в итоге целый кластер компайл-тайм отптимизаций в нем в приципе недоступен
но на другой стороне есть рантайм-оптимизации, которые недоступны плюсам

Savely
18.10.2018
14:36:41
Roman
18.10.2018
14:38:45
рантайм оптимизации ИМХО не дают таких профитов
https://morepypy.blogspot.com/2011/02/pypy-faster-than-c-on-carefully-crafted.html

»The reason is obvious - static compiler can't inline across file boundaries.

https://morepypy.blogspot.com/2011/08/pypy-is-faster-than-c-again-string.html

>Overall PyPy is almost 2x faster. This is clearly win for dynamic compilation over static - the sprintf function lives in libc and so cannot be specializing over the constant string, which has to be parsed every time it's executed. In the case of PyPy, we specialize the assembler if we detect the left hand string of the modulo operator to be constant.

Dmitry
18.10.2018
14:40:38
Всем привет! Можно нубский вопрос закинуть? :)

Denys
18.10.2018
14:41:11
нельзя

Aleksandr
18.10.2018
14:41:15
можно не здороваться и не спрашивать. Просто начинай с места в карьер

Denys
18.10.2018
14:41:34
как это не здороваться?

Google
Denys
18.10.2018
14:41:41
отвечать человеку который даже не здоровается?

фе

я предлагаю сначало обсудть погоду, потом перейти к сути дела

Roman
18.10.2018
14:43:04
https://morepypy.blogspot.com/2011/02/pypy-faster-than-c-on-carefully-crafted.html
on a carefully crafted example я почему то уверен что таких случаев в реальном коде слишком мало чтоб побить стат. компл.

anatolii
18.10.2018
14:43:52
интерпретатор питона на питоне

Dmitry
18.10.2018
14:43:56
Короче. Создаю процесс через exec.Command и хочу весь его ввод/вывод перенаправить в TCP сокет. Но при этом пропускать его через свои функции. Я открываю в одно потоке процесс, вешаю его Stdin/out через пайпы на глобальнеы переменные, а потом запускаю другой поток, который читает из out и пишет в сокет

Bohdan
18.10.2018
14:44:16
что такое pypy?
еще и с jit

Denys
18.10.2018
14:44:27
какие проблемы он решает

он ведь по идее медленней должен быть

go компилятор на go вроде тоже существует

Roman
18.10.2018
14:44:45
The reason is obvious - static compiler can't inline across file boundaries.
file boundaries? так это-ж скорее про C а не про стат. компл. в целом)

Denys
18.10.2018
14:44:45
но он медленно компилиурет

Dmitry
18.10.2018
14:44:50
Читаю примерно так for { message, err := bufio.NewReader(shellOut).ReadString('\n') fmt.Print(message) }

Для теста запускаю на виртуалке с виндой, в качестве комманды обычный cmd.exe И при этом получаю в консоли Microsoft Windows [Version 6.1.7601]

Илья
18.10.2018
14:46:04
go компилятор на go вроде тоже существует
go компилятор написан на go, начиная с версии 1.5

Roman
18.10.2018
14:46:10
Это тупо косяк C.
И? Там есть пример с printf, где на каждый вызов парсится format string

Google
Dmitry
18.10.2018
14:46:38
И все. А долже получить полностью Microsoft Windows [Version 6.1.7601] (c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены. C:\Users\root>

Что не так-то?

Илья
18.10.2018
14:47:04
пруф
https://golang.org/doc/go1.5 The compiler and runtime are now written entirely in Go (with a little assembler). C is no longer involved in the implementation, and so the C compiler that was once necessary for building the distribution is gone.

Denys
18.10.2018
14:47:33
мне так стыдно

я будто вовсе не го программист

видимо нет

Roman
18.10.2018
14:47:55
он ведь по идее медленней должен быть
Нет, потому что надо читать внимательно.

Denys
18.10.2018
14:48:10
я не умею читать внимательно

я серьезно

у меня синдром дифицита внимания

Vadim
18.10.2018
14:51:37
go имеет inline функций

Илья
18.10.2018
14:52:43
go имеет inline функций
это вопрос, утвреждение?

Vadim
18.10.2018
14:52:56
Илья
18.10.2018
14:52:57
как оно связано с с? или с js?

Vadim
18.10.2018
14:53:30
Оно связанно с постом выше, в котором c проигрывало питону

Dmitry
18.10.2018
14:53:36
Google
Roman
18.10.2018
14:57:35
Denys
18.10.2018
14:58:34
Vadim
18.10.2018
14:58:41
https://github.com/golang/go/wiki/CompilerOptimizations

Кстати, использовать каналы struct{} - good practice?

Savely
18.10.2018
15:02:25
но я лично предпочитаю шоб чуток читабельней было

и делаю bool

шоб done <- true

Илья
18.10.2018
15:06:00
https://play.golang.org/p/tB7U04txSEx
очень плохой код с глобальными переменными, посмотрите сюда https://stackoverflow.com/questions/38866952/streaming-commands-output-progress-from-goroutine, попробуйте залогировать ошибки в тчении

но, помоему, логика сломана на строке 70-72

Dmitry
18.10.2018
15:06:54
Илья
18.10.2018
15:07:20
conn = nil connected = false ???
https://play.golang.org/p/ExHo6TUy3Rc

Dmitry
18.10.2018
15:08:21
https://play.golang.org/p/ExHo6TUy3Rc
Да не. По логам - эта часть как раз работает

Где-то лок хватаю, не пойму где

Илья
18.10.2018
15:09:00
ну, если не хотите переписывать :) то delve вам в руки

Dmitry
18.10.2018
15:09:26
Переписывать?

Я бы с удовольствием, просто пока непонятно на что переписывать :)

Илья
18.10.2018
15:13:32
на нормальный код?

Dmitry
18.10.2018
15:15:36
на нормальный код?
Я действительно совсем недавно в го, 2-й день. Просто видимо не понимаю, что именно не так со строками 71 - 72? Обычное условие и вызов функции

Google
Илья
18.10.2018
15:16:52
проблемы в структуре кода и приложения, проблема не в 71-72, проблема в том, что у вас есть клиент и сервер (похоже на что-то такое) и потребитель/писатель в пайп команды, все в каше, поэтому понять, что именно идет не так без отладчика врядли получится

Dmitry
18.10.2018
15:18:50
Илья
18.10.2018
15:19:23
ну, можно попробовать дочитать, а потом уже начать писать, но это не точно

Dmitry
18.10.2018
15:25:12
ну, можно попробовать дочитать, а потом уже начать писать, но это не точно
Я пытался использовать каналы, но код по сути не изменился. Только появилась необходимость в запуске еще одно потока на чтение канала, если в него что-то пришло из сокета

Илья
18.10.2018
15:26:23
возможно, стоит начать с чего-то попроще? просто писать в stdin и читать из команды? так может и тесты появятся, потом читателя от писателя удастся вычленить, проверить с каждый стороны, а там уже и до клиента и сервера дойдет

Dmitry
18.10.2018
15:28:36
Отдельно читать и писать в cmd я погу, в сокет тоже. Вокруг текущей логики есть обвязка, оно все работает. Не работает конкретно свзять cmd с сокетом. Да и даже дело в сокете. Блок происходит на 47-49 строке. Причем комментирование 49-й не помогает

То есть, основная проблема в том, что блокируется процесс, который читает cmd. но почему он блочит - я не понимаю

Dmitri
18.10.2018
15:49:37
https://play.golang.org/p/tB7U04txSEx
У тебя код читает 1-ю строку, ты ее и видишь. Чо не так?

https://play.golang.org/p/tB7U04txSEx
Косяк самый большой в 32-й строке

Dmitry
18.10.2018
15:59:29
У тебя код читает 1-ю строку, ты ее и видишь. Чо не так?
Почему одну, он в цикле читает. Должен все вывести

Косяк самый большой в 32-й строке
наверное на 33-й? Да, это гавнецо, уже переделываю на каналы

Dmitri
18.10.2018
16:02:14
shell.Run - выполняет команду и закрывается

На момент получения второй строки у тебя процесс уже мертв

Khusrav
18.10.2018
16:02:56
Привет всем у кого есть книга Go на практике

Dmitri
18.10.2018
16:02:58
А у тебя бесконечный цикл

Dmitry
18.10.2018
16:03:25
На момент получения второй строки у тебя процесс уже мертв
Почему мертв, cmd должен работать пока ему exit не отправишь

в интерактивном режиме

Страница 1584 из 1630