@gogolang

Страница 1326 из 1630
Мерлин
30.08.2018
08:19:28
Окей, вот есть, допустим crc32c, как его ускорить?
зависит от обстоятельств если дешевле будет переписать на си или что-то подобное — то переписать на си если оптимизировать с помощью Go ASM — то использовать его я неправ?

Alexander
30.08.2018
08:20:51
Могу перефразировать: что делать когда компилятор недостаточно хорош?
В такой формулировке - ок. Я не лазил в гошный компилятор, могу сказать по опыту жвм, чтобы ускорить надо точно знать что ваша задача специфична, и поэтому её можно ускорить какими-то unsafe хаками, при этом разбираться в кишках языка, компилятор и рантайма не хуже людей, которые его создали. Или, как крайний случай пилить своё, заточенное под вас, как например у Алибабы есть своя jvm

Второй путь подразумевает огромные затраты

Виктор
30.08.2018
08:22:05
Современные компиляторы достаточно умны чтобы покрывать 95% задач примерно по оптимизации низкоуровневых вещей. Все остальное это высокоуровневые оптимизации\

Google
Виктор
30.08.2018
08:22:27
так что чаще всего проблема в прослойке между креслом и клавиатурой

Roman
30.08.2018
08:24:19
Вот только проблема в том что на сколкьо ты умнее компилятора
Гошного? Значительно. Банальный loop unrolling дал двух кратное ускорение

James
30.08.2018
08:26:09
Гошного? Значительно. Банальный loop unrolling дал двух кратное ускорение
Так это возможно и не проблема комплятора, если я понял правильно loop unrolling

Виктор
30.08.2018
08:26:15
Гошного? Значительно. Банальный loop unrolling дал двух кратное ускорение
loop unrolling это оптимизация которую сложно предсказать в больших случаях поэтому большинство компиляторов делают ее только в простых кейсах. Я ее делал даже в компиляторах на С++ типа ГЦЦ и тоже давало прирост производительности

Так что это вполне себе оптимизация кода программистом

James
30.08.2018
08:28:03
Так что это вполне себе оптимизация кода программистом
Это если знаешь платформу хорошо, при переносе на другую может и обратная ситуация случится

Виктор
30.08.2018
08:28:33
Это если знаешь платформу хорошо, при переносе на другую может и обратная ситуация случится
Естественно. Поэтому я и говорю что это оптимизация кода программистом а не компилятором. Так как нужно учитывать вещи и тестировать

Alex
30.08.2018
08:34:53
День добрый. Формирую запрос к бд в таком виде fmt.Sprintf("EXEC [dict].[User] @areaId=%d",request.AreaID) request.AreaID это *int. Как мне сделать чтоб текст запроса сформировался @areaId=null если AreaID=nil? %d - даёт 0 %v-<nil>

Виктор
30.08.2018
08:43:41
Это как пример. Другое дело что если я разверну код руками, то в случае с gcc там будет simd, а как бы я не мучился с go, там такого не будет
для этого есть gccgo. Сам го компилятор молодой и впихнуть все эти оптимизации мелкие еще не успели. Не так часто нужен SIMD на самом деле. По факту - да оптимизаций таких пкоа нет без вопросов. Но кейсов таких важных оптимизаций для го программ я пока не встречал. вернее встречал но их было пара всего на кучу проектов. То что оптимизаций таких нет - безусловно плохо, но не критично, так как язык молодой то вполне себе скоро реализуют. А то чего нет можно сделать как раз на ассемблере если именно это вляется узким местом

Alex
30.08.2018
08:44:33
Да эт понятно, Я подумал мб что-то у Sprintf есть

Google
Alex
30.08.2018
08:44:38
спасибо

Alan
30.08.2018
09:04:40
Докидываю ядер
и памяти и диски побыстрее)

Виктор
30.08.2018
09:07:06
Я не видел чтобы gccgo генерировал simd
ну SSE2 умеет) Пока хватит для такого языка в котором это сделать сложнее и в котором это не в приоритете)

Pawel
30.08.2018
09:08:42
GoodMoodDealler
30.08.2018
09:24:03
Подскажите как мне вставить символ в строку?

Допустим у меня есть строка s = "13456", в нее нужно вставить 2 чтобы получилось s="123456"

Alan
30.08.2018
09:25:13
строки же неизменяемы

GoodMoodDealler
30.08.2018
09:25:20
Ну да

Нужно по-сути создать новую

Там через слайс байт это как-то делается

Но я не могу сообразить как

Paradise
30.08.2018
09:26:56
Блин

а что за ошибка тут rows, err := DB.Query("SELECT start, stop, title, description, categories WHERE `channel_id` = ? AND `start` > ? AND `stop` < ?", id, start, stop)

пишет 2018/08/30 12:25:10 Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `channel_id` = ? AND `start` > ?' at line 1

Илья
30.08.2018
09:27:37
таблица не указана

где from?

Paradise
30.08.2018
09:27:49
ой

ой

Google
Paradise
30.08.2018
09:27:52
спасибо

Виктор
30.08.2018
09:28:27
GoodMoodDealler
30.08.2018
09:28:37
То что нужно

Спасибо!

Daniel
30.08.2018
10:20:28
s = s[:1] + "2" +s[1:] ?
а что у этого метода с юникодом?

Kirill
30.08.2018
10:26:14
Может поломать символ, естественно

Виктор
30.08.2018
10:30:50
а что у этого метода с юникодом?
Естественно ничего хорошего) Просто тут сказали о цифре ) А так можно разбить по рунам и сделать тоже самое)

Kirill
30.08.2018
10:31:21
У тебя первый символ разломается

Виктор
30.08.2018
10:33:19
У тебя первый символ разломается
Да вроде нет. Если говорить о конкретном примере с цифрами , ради которого я и писал это

https://play.golang.org/p/_9os8ktzsDE

Kirill
30.08.2018
10:37:46
Ну - нужно же указывать, что с юникодом не сработает)

Vadim
30.08.2018
10:41:45
https://play.golang.org/p/29Pe5fRXFSF

Kirill
30.08.2018
10:43:44
Виктор
30.08.2018
10:45:42
https://play.golang.org/p/29Pe5fRXFSF
Я сверъу как бы и сказал что не будет нормально работать с нирм. И уточнил что я делал это конкретно под задачу :) Так что странно давать этот пример

О чем я и говорил
Ну о чем и я говорил) Как бы это логично)

Мерлин
30.08.2018
11:50:05
Допустим у меня есть строка s = "13456", в нее нужно вставить 2 чтобы получилось s="123456"
Я бы сделал что-то типа этого В таком варианте нормально работает с юникодом https://play.golang.org/p/WJwI4KQ6v9K

Abylay
30.08.2018
11:54:34
Ребята как создать соц сеть? Помогите

Хочу стать как Марк Цук

Google
James
30.08.2018
11:55:38
Фамилия нужна правильная...

Сергей
30.08.2018
11:56:06
берешь питон, джангу, селери и пишешь. через месяц будет прототип, тебе инвесторы дадут бабла и станешь почти как марк

Мерлин
30.08.2018
11:56:08
Я бы сделал что-то типа этого В таком варианте нормально работает с юникодом https://play.golang.org/p/WJwI4KQ6v9K
в случае если нужно вставить по индексу, то можно преобразовать строку в слайс рун и работать с ним https://play.golang.org/p/0An4WYOqaqi

Сергей
30.08.2018
12:09:43
c таким рецептом получится инстаграм
ну те ребятам тоже богаты стали

Admin
ERROR: S client not available

Andy
30.08.2018
12:10:15
Но парень с пхп их купил

Сергей
30.08.2018
12:10:16
Если как Цук – нужно брать php
щас бы в 20!8 на php проект начинать

Daniel
30.08.2018
12:10:37
гноворят - php7 очень даже

Andy
30.08.2018
12:10:52
гноворят - php7 очень даже
тоже есть такая инфа

Pawel
30.08.2018
12:25:02
А как в goland отформатировать SQL ? что нажать, куда зайти?

Pawel
30.08.2018
12:29:59
alt + ctrl + L ?
ага, спасибо

John
30.08.2018
13:11:09
Всем привет! Может кто встречался с ошибкой: rpc error: code = Unimplemented desc = unknown service serviceName

Она меня доканала уже

Daniel
30.08.2018
13:12:03
это где такая? в net.rpc?

John
30.08.2018
13:12:16
google.golang.org/grpc

Daniel
30.08.2018
13:12:45
ну так это, похоже, вы хендлер забыли написать для вызова

John
30.08.2018
13:13:23
не забыл. и даже код с туториалов Go Blueprints 2 выдает тоже самое

Google
Daniel
30.08.2018
13:13:48
не читал их :)

вообще - там все straightforward

написал proto, сгенерил код, имплементировал хендлеры, все работает

на проблемы можно нарваться только если на двух концах разные версии протокола

John
30.08.2018
13:15:05
так и поступаю. а вот при работе с cli лезет эта зараза

Vladislav
30.08.2018
13:15:19
John
30.08.2018
13:16:04
не совсем понятно что вы имеете в виду

Vladislav
30.08.2018
13:17:20
не совсем понятно что вы имеете в виду
' s := grpc.NewServer() pb.RegisterGreeterServer(s, &server{}) '

John
30.08.2018
13:18:12
да, в &server{} летит хэндлер

Vladislav
30.08.2018
13:20:04
Ну тогда без кода сложно что-то сказать.

John
30.08.2018
13:21:52
Свой не могу показать. Но вот туториал, по которому делал: https://github.com/matryer/goblueprints/tree/master/chapter10/vault Тут та же ошибка лезет

Artuchka
30.08.2018
13:36:26


Roman
30.08.2018
13:42:38
это ботов фабрики троллей ещё посчитали видимо

Roman
30.08.2018
13:44:32
гугл сказал что 9 миллиардов аккаунтов зарегистрировано из Междуреченска? значит в Междуреченске 9 миллиардов население

Dk
30.08.2018
13:59:20
Ой, ребят, а как написать number in range(4,10)?

Daniel
30.08.2018
13:59:48
где написать?

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