
Александр
13.07.2018
18:57:41
а вот и правильный вариант
никто не сделал явный возрат ошибок
нельзя править за юзвера, он туповат
а теперь забенчим ?

Google

Илья
13.07.2018
19:00:18
```
// без конвертации к рунам и доп памяти
func substring(s string, start int, end int) string {
start_str_idx := 0
i := 0
for j := range s {
if i == start {
start_str_idx = j
}
if i == end {
return s[start_str_idx:j]
}
i++
}
return s[start_str_idx:]
}
```

Aleksandr
13.07.2018
19:00:42
https://play.golang.org/p/Ki2yITiFbhh

Илья
13.07.2018
19:01:21
Да с мобилы зашел, не сиотрел)

Никита
13.07.2018
19:03:52
Интересно, почему нет такой функции в библиотеке strings
Она бы там лишней не была
Или это как история с округлением чисел
Нет единственного правильного варианта

Александр
13.07.2018
19:06:27
BenchmarkZelenin-4 50000000 38.3 ns/op
BenchmarkRuelephant-4 10000000 151 ns/op

Aleksandr
13.07.2018
19:08:34
дай код бенча
в 5 раз разница. на китайском тексте у меня в 50 раз
при росте размера текста разница будет увеличиваться в мою пользу

Google

GoodMoodDealler
13.07.2018
19:10:00
Попробую ещё раз повторить вопрос) Как можно быстрее чем 2 вложенных цикла сравнить поэлементно 2 отсортированных спайса?

Александр
13.07.2018
19:10:15

Aleksandr
13.07.2018
19:11:21
https://play.golang.org/p/uh-XZrHxDTc
а вот так разница 400 раз
https://play.golang.org/p/wiLcQfh7p3d
а вот так 25.5 т

Александр
13.07.2018
19:24:07
мне интересно это руны такие тормозные

Aleksandr
13.07.2018
19:26:11
добавил первый вариант функции. быстрее в 2т
и как они из байт получаются?
то есть вот у тебя слайс байт и что под капотом происходит, чтобы первую руну например получить?
руна у тебя из 1-4 байтов. соответственно тебе надо однобайтную поискать, потом двух- итд

Александр
13.07.2018
19:29:17
The rune type is an alias for int32, and is used to emphasize than an integer represents a code point.

Aleksandr
13.07.2018
19:30:00
да. и это не совсем простая операция из одного другое получить

Александр
13.07.2018
19:30:36
а он перебором конвертирует? O_o

Aleksandr
13.07.2018
19:30:58
не совсем, но почти
не помню навание функции типа utf8.DecodeRuneSomeThing..
https://play.golang.org/p/1nTvIC9cnVd

Google

Александр
13.07.2018
19:33:35
хехе
я читер
https://play.golang.org/p/-np8mthDXij
запусти это говно ?

Aleksandr
13.07.2018
19:34:38
не считалка, так как сигнатура не та

Александр
13.07.2018
19:34:51
ну функция то свое дело делает ?

Aleksandr
13.07.2018
19:34:55
нет
сигнатура не та

Александр
13.07.2018
19:35:10
тебе закешировать строку в переменной? ?
щаз сойдутся сигнатуры
но я это читерство согласен
зато как быстро ?

Aleksandr
13.07.2018
19:37:45
https://play.golang.org/p/1gCFvQwpXTB
так еще быстрее
22 строка
если ты меняешь сигнатуру, ты выносишь часть сложности наружу. а бенчим ты мы стоимость функции

Александр
13.07.2018
19:39:15
да понятно жу
что ты зануду врубил

Aleksandr
13.07.2018
19:39:26
не шути со мной так

Александр
13.07.2018
19:40:04
жалко быстрого способа сконвертить []rune в строку нет ?

Google

Александр
13.07.2018
19:40:19
что-то он печально и долго даже в этом направлении собирает
хотя какой там перебор

Aleksandr
13.07.2018
19:40:41
потому что это то же самое но в обратном направлении

Александр
13.07.2018
19:40:51
ну там перебирать ничего не надо
уже понятно какой символ же
достаточно найти его представление

Aleksandr
13.07.2018
19:41:38
ну да, навреное

Александр
13.07.2018
19:41:53
возможно можно сделать аля "радужные таблицы" ?
ну или кеширующие таблицы

Aleksandr
13.07.2018
19:42:04
так и сделано

Admin
ERROR: S client not available

Александр
13.07.2018
19:42:13
а хренли так медленно?
готовые массивы байт блин склеить
я бы сделал так - прошелся по всем рунам, в поисках уникальных букв, нашел бы ассоциации к байтам и потом при втором заходе просто клеил бы []byte слайс

Kirill
13.07.2018
19:43:35
#даладно_неужели https://godoc.org/github.com/gramework/gramework#Context.DecodeGQL

Александр
13.07.2018
19:44:18
а Query в каком виде? O_o
как это строка

Kirill
13.07.2018
19:44:34
как обычно

Александр
13.07.2018
19:44:47
мне казалось для построения графql нужно построитель юзать
а не строку откармливать

Google

Александр
13.07.2018
19:45:01
базы то разные
движки разные

Kirill
13.07.2018
19:45:04
я ориентировался на автоподготовку аргументов для github.com/graph-gophers/graphql-go

Aleksandr
13.07.2018
19:47:23
причем тут базы и движки?

Александр
13.07.2018
19:48:02
я про базыданных в смысле
движки это уже внутри ?

Aleksandr
13.07.2018
19:48:07
и я

Александр
13.07.2018
19:48:25
у мускуля например два движка из частоиспользуемых

Aleksandr
13.07.2018
19:48:54
ну я не пойму в каком контексте ты вообще это упомянул

Александр
13.07.2018
19:49:48
ну там в Query имеется введу уже SQL запрос для базы?

Aleksandr
13.07.2018
19:49:56
нет, конечно
graphql-query

Александр
13.07.2018
19:50:04
а
я что-то подумал он магию там хреначит
перестроил из graphql в sql
в пыхе там был, с ORM
что-то подобное

Kirill
13.07.2018
19:51:02

Aleksandr
13.07.2018
19:51:13
не, он принимает http-request и конвертирует в GQLRequest

Kirill
13.07.2018
19:51:13
сами с этим дерьмом е... веселитесь %)))

Aleksandr
13.07.2018
19:51:42
а дальше ты берешь свою любимую gql-шарманку и хэндлишь