@nodejs_ru

Страница 233 из 2748
Vladimir
25.09.2016
20:35:07
В сишке ты бы один раз выделил память

Что не так?

Ҫѐҏӗѫӑ
25.09.2016
20:35:34
давайте сразу про хаскель

Google
Ҫѐҏӗѫӑ
25.09.2016
20:35:38
чего тянуть

Vladimir
25.09.2016
20:35:39
Попозже

Kirill
25.09.2016
20:35:45
Aleksei
25.09.2016
20:36:05
Ҫѐҏӗѫӑ
25.09.2016
20:36:11
факт

Vladimir
25.09.2016
20:37:42
не так
Так что не так?

Vladimir
25.09.2016
20:38:41
как это?

а как тогда можно буфер в пул класть?

Kirill
25.09.2016
20:40:25
как это?
вот так это

спокойно, как я и написал выше

берешь и кладешь

Vladimir
25.09.2016
20:40:58
как можно класть в пул буфер, если наружу отдан этот буфер в виде immutable строки?

Google
Kirill
25.09.2016
20:41:11
у буфера уберется указатель на строку, а строка останется со значением

Vladimir
25.09.2016
20:41:43
Что будет если поменять буфер? Строка поменяется?

Kirill
25.09.2016
20:42:19
эта оптимизация применяется не всегда

а тогда, когда указатель на данные будет опустошен

тогда идет использование в буфере ссылки на новую область памяти при опустошении, а строка смотрит на старый слайс байт

Vladimir
25.09.2016
20:43:35
ну то есть когда ты берешь из пула ты не переиспользуешь память?

тогда в чем смысл пула?

Короче, че то ты гонишь. Пойду проверять

Kirill
25.09.2016
20:44:42
переиспользую память тогда, когда оптимизатор это даст сделать

а промежуточную память переиспользую

Короче, че то ты гонишь. Пойду проверять
окей, начни с оптимизатора. пойду работать.

Vladimir
25.09.2016
20:45:38
Не, я проверю, что string() не копирует память

Если копирует - то ты гонишь

Kirill
25.09.2016
20:46:15
гонщик. то, что происходит в string() все равно оптимизируется.

Vladimir
25.09.2016
20:46:36
память либо копируется либо нет

окей, допустим она может не копироваться если нет других ссылок

но в твоем случае они всегда есть

Kirill
25.09.2016
20:47:22
слушай, как ты попал в nodejs foundation, если ты контекст не учитываешь?

Vladimir
25.09.2016
20:47:36
Какой контекст?

Я все учитываю)

Google
Kirill
25.09.2016
20:48:42
контекст выполнения, компиляции, оптимизации несколькими бэкендами и т.д.

если у тебя такие вопросы — то ты банально не знаешь, что учитывать

а значит, что разговор пустой.

Vladimir
25.09.2016
20:49:27
мб сразу какашками бросаться?

Vladimir
25.09.2016
20:50:01
Сорри, бро. Ты просто вместо того, чтобы объяснить почему твой код работает, начинаешь рассказывать сказки про оптимизацию

Объяснять никто и не заставляет, конечно

Kirill
25.09.2016
20:51:56
я выше уже все объяснил подробно, и все нормальные разработчики на go учитывают то, что будет делать оптимизатор, именно поэтому все написано именно так, а не иначе.

マイク
25.09.2016
20:52:23
??? Моё ледцо каждый раз, когда говорят про оптимизации ???

Kirill
25.09.2016
20:52:28
мб сразу какашками бросаться?
может быть лучше тогда о хаскеле?

Vladimir
25.09.2016
20:53:03
b := []byte{0x66, 0x6f, 0x6f} str := string(b) fmt.Println(str) b[1] = 0x62 fmt.Println(str)

Kirill
25.09.2016
20:53:11
аминь

Vladimir
25.09.2016
20:53:20
Итак, при string() явно происходит копия

Kirill
25.09.2016
20:53:37
буду за него рад, если он сможет

Vladimir
25.09.2016
20:53:44
> @kirilldanshin все нормальные разработчики на go учитывают то, что будет делать оптимизатор, Тяжело жить, наверно

Kirill
25.09.2016
20:54:08
b := []byte{0x66, 0x6f, 0x6f} str := string(b) fmt.Println(str) b[1] = 0x62 fmt.Println(str)
гонщик ? ты же контекст сломал, ясен красен, что будет копия))

マイク
25.09.2016
20:54:27
Всё сидите и оптимизируете, кто фичи новые делать-то будет?!

Vladimir
25.09.2016
20:54:46
> @kirilldanshin ясен красен, что будет копия)) я не сомневался, в общем то

как и в твоем случае

Aleksei
25.09.2016
20:55:15
Да, сегодня читал какой-то коммент, по поводу того, что если ты пишешь на пыхе и подключаешь сяшные утилиты, то ты пишешь на C. Если следовать логике, то все кто пишет на js не пишут на js, а пишут на плюсах

Vladimir
25.09.2016
20:55:38
Есть копия, или нет, твой код не эффективен по сравнению с простой сишной реализацией

Google
Kirill
25.09.2016
20:55:39
Всё сидите и оптимизируете, кто фичи новые делать-то будет?!
а я вообще ноду выкинул, потому, что там v8, я юзаю spidermonkey с go-monkey, а сюда меня просто позвали)

マイク
25.09.2016
20:56:07
Весёлый ты

Кисик
25.09.2016
20:56:11
Всё сидите и оптимизируете, кто фичи новые делать-то будет?!
+++ Круды сами себя не напишут, да и у тёти Сраки с второго этажа админка на эксплорере 6.0 не открываются, а они тут сидят байты ебут

Vladimir
25.09.2016
20:57:35
@chicoxyzzy вроде закончили, теперь можно про хаскелль

Admin
ERROR: S client not available

Aleksei
25.09.2016
20:59:23
@chicoxyzzy вроде закончили, теперь можно про хаскелль
Закончили на том, что ты рассудил по своему не прогнав тот и другой вариант и не посмотрев разницу в скорости...

Vladimir
25.09.2016
20:59:59
Я верю что оптимизатор иногда может не копировать буфер

Проблема в том что я не вижу логики в коде - либо ты в конце копируешь буффер в строку и тогда ты можешь его переиспользовать, либо ты не копируешь и тогда не можешь переиспользовать

С утверждением, что этот код написан так, чтобы оптимизатор волшебно оптимизировал, сложно спорить

Aleksei
25.09.2016
21:02:50
С утверждением, что этот код написан так, чтобы оптимизатор волшебно оптимизировал, сложно спорить
Не волшебно, а по четким правилам, го не v8, там в оптимизаторе нет кельтской магии, которая каждый день меняется

Roman
25.09.2016
21:03:05
Ну не бывает волшебных оптимизаторов.

Vladimir
25.09.2016
21:04:20
на нескольких версиях оптимизатора

оптимизируешь на спичках

в любом случае на каком-нибудь edge case сломается твоя оптимизация

Vladimir
25.09.2016
21:05:49
Просто если абстрагироваться от конкретного кода - как раз вот такие вещи неприемлимы в системном коде

Мерлин
25.09.2016
21:05:59
Погодите, это какоё-то десткий сад, господа Во-первых

Aleksei
25.09.2016
21:06:47
Иногда на спичках, но когда упираешься в скорость конкатенации, это важно, а в других случаях можно просто юзать и все, есть же не просит

Vladimir
25.09.2016
21:08:28
bytes.Buffer?

Google
Kirill
25.09.2016
21:08:45
А где это можно прочитать?
я вычитывал в коде go, документах и github.com/golang/gofrontend

Мерлин
25.09.2016
21:11:00
я вычитывал в коде go, документах и github.com/golang/gofrontend
В документации я не нашёл И я прошу прощения, gccgo? Зачем?

Andrey
25.09.2016
21:11:12
скажите лучше. что еще почитать по поводу оптимизаций в JS?)

Kirill
25.09.2016
21:12:00
В документации я не нашёл И я прошу прощения, gccgo? Зачем?
им собирается 1.4.*, а уже 1.4.* собирается актуальная версия

Vladimir
25.09.2016
21:12:28
Только не исходники

Andrey
25.09.2016
21:12:34
V8
v8 не маг чудесный, можно писать сильно разный код

Vladimir
25.09.2016
21:12:37
А там Егорова того же

Aleksei
25.09.2016
21:13:33
v8 не маг чудесный, можно писать сильно разный код
Ну вот почитай v8 и пойми какой код писать. Только не забудь парой бутылок водки запастись))

Мерлин
25.09.2016
21:13:39
им собирается 1.4.*, а уже 1.4.* собирается актуальная версия
Ну а тогда какое отношение имеет gccgo к оптимизации строк?

Kirill
25.09.2016
21:14:04
Ну а тогда какое отношение имеет gccgo к оптимизации строк?
то, что основа вся все равно останется в первой сборке, очевидно.

Мерлин
25.09.2016
21:14:47
то, что основа вся все равно останется в первой сборке, очевидно.
яннп Не мог бы перефразировать для тупых? Какая основа?

Kirill
25.09.2016
21:16:17
яннп Не мог бы перефразировать для тупых? Какая основа?
все встроенные типы, например, описаны именно тут. тут же можно встроить новые, если хочется упороться и есть пара бутылок водки. тут же можно ознакомиться со всеми подкоробочными нюансами, а потом идти уже в репу go читать то, что будет работать поверх этой всей кучи кода.

Andrey
25.09.2016
21:17:54
А там Егорова того же
его прочитал и просмотрел даже)

Страница 233 из 2748