
Dmitry
27.07.2018
10:45:14
резюме такое - оптимизация в хаскелле требует опыта. а если опыт есть, то такие вопросы не спрашивают

Daniel
27.07.2018
10:59:30
я понял, да

Dmitry
27.07.2018
11:00:27

Dmitry
27.07.2018
11:47:29
ну так, навскидку - на одном ведре 1M туплов (Int64,Int64) легко переваривается

Google

Dmitry
27.07.2018
11:47:34
за секунду.
ну т.е много меньше, чем за секунду, конечно
т.е генерируется и сортируется
так что перспективы неплохие.

Alexander
27.07.2018
11:56:48

Dmitry
27.07.2018
11:57:14
у него порог вхождения повыше будет

Maxim
27.07.2018
11:58:04
Чем у хаскеля, лол?

Yuriy
27.07.2018
11:58:15
конечно

Alexander
27.07.2018
11:58:15

Maxim
27.07.2018
11:58:30
Странные вы ребята

Yuriy
27.07.2018
11:58:33
в Хаскеле самое сложное — математика, а она дружественная к человеку, в Расте же надо думать как процессор, это сложно

Alexander
27.07.2018
12:00:01
если только после ассемблера
ну как-бы у раста две новый концепции в сравнении с %IMPERATIVE_LANG_NAME% - владение и заимствование. На хаскеле их чуть больше.

Google

Alexander
27.07.2018
12:00:21

Yuriy
27.07.2018
12:01:48

Alexander
27.07.2018
12:02:29

Yuriy
27.07.2018
12:06:02

Alexander
27.07.2018
12:07:10
понятно, что просто написать опердень на хаскеле будет в любом случае проще, но тут то нужен хайперфоманс

Yuriy
27.07.2018
12:09:11

A64m
27.07.2018
12:09:40
у языков с гц порог вхождения ниже, чем у языков без гц

Daniel
27.07.2018
12:10:53

Dmitry
27.07.2018
12:11:06
@cblp_su ну как - тут вопрос, можно ли обработать 1M заявок за секунду. который распадается на вопросы - можно ли куда-то вставлять 1M заявок в секунду 2) можно ли выбирать из какой-то коллекции (двух коллекций) 1M заявок в секунду

Daniel
27.07.2018
12:11:14
но, если честно, я не понимаю, нужен ли он, и годится ли он

Dmitry
27.07.2018
12:11:16
ну вроде как быстрый тест показал, что да, можно

Daniel
27.07.2018
12:11:33
конечно, можно

Dmitry
27.07.2018
12:11:38
анбоксед вектор позволил этот сделать
но вопросы - а когда к нам придет gc, а как принимать этот поток заявок - они все за кадром, конечно

Yuriy
27.07.2018
12:14:15

A64m
27.07.2018
12:14:24
ну принимать сложнее
емнип я в свою хештаблицу вставлял 10М интов за 0,2 сек на коре 3-го поколения

Google

A64m
27.07.2018
12:17:00
но это не точно, по памяти

Dmitry
27.07.2018
12:18:12

Yuriy
27.07.2018
12:19:18

Dmitry
27.07.2018
12:21:02
ну тут хаскель не слишком просасывает другим языкам
может, даже наоборот
ну и слишком мало данных относительно алгоритмов, которые использует ts

Imants
27.07.2018
12:45:42

Dmitry
27.07.2018
12:46:17
это само собой
я исходил из предположения, что 1M валится уже по конкретному инструменту
так-то можно стакан еще и поперёк порезать, конечно. но это зависит от стратегии исполнения

Imants
27.07.2018
12:47:09
можно группировать даже по конкретной цене

Daniel
27.07.2018
12:47:11

Dmitry
27.07.2018
12:47:18
это зависит можно так или нельзя
т.е от стратегии исполнения.

Imants
27.07.2018
12:48:11
1м заявок по одной цене - это явно будут автоматические заявки

Dmitry
27.07.2018
12:48:24
ну так а кому еще нужен миллион заявок в крипте
только амбициозному проекту, который тащит HFT в крипту

Daniel
27.07.2018
14:29:40
это палюбэ будут автоматические заявки, но речь пока не о HFT

elton
27.07.2018
16:31:14
здарова, товарищи
как в хаскеле в регулярках вытащить из матча подстроку в скобках
например, имея регулярку ^file_number_([0-9]+)\.html, вытащить число в скобках

Слава
27.07.2018
16:38:42
Возможно, хаскелевский движок регулярок поддерживает именованные группы в регулярках, или хотя бы нумерованные.
То есть, вы применяете регулярку, а если она заматчилась - вытаскиваете соответствующую группу и её значение.

Google

Admin
ERROR: S client not available

Denis
27.07.2018
16:42:05
https://stackoverflow.com/questions/14187577/pattern-matching-a-regex-pattern-in-haskell

The mirror
27.07.2018
16:57:30
Кстати интересно а как обычно реализуются regexp движки? Не на ДКА случайно? И если да, то как они реализованы в чистом функциональном Haskell ’е?

Denis
27.07.2018
16:59:24

Ilya
27.07.2018
17:11:42
че то я не догоняю, почему такое замыкание можно писать
f a b = (a, g b) where
g b = undefined a b
а такое уже нельзя
f = \a b -> (a, g b) where
g b = undefined a b
не вижу особой разницы, но компилятор видит

Denis
27.07.2018
17:12:24

Pig
27.07.2018
17:13:13
Не, where закрывает лямбду

Ilya
27.07.2018
17:13:41

Denis
27.07.2018
17:13:59
а ну тогда перенести where

Pig
27.07.2018
17:14:05
Вот так можно f = \a b -> let g b = undefined a b in (a, g b), let — выражение

Ilya
27.07.2018
17:14:56
а с where можно как-нибудь оставить?

Denis
27.07.2018
17:15:28
ну или let всетаки

Ilya
27.07.2018
17:15:30
просто мне лямбду в ньютайп нужно запихать, поэтому первый вариант не катит

Pig
27.07.2018
17:15:43
f a = \b -> (a, g b) where
g b = undefined a b

Ilya
27.07.2018
17:16:16
ок, возьму let-in

Denis
27.07.2018
17:17:50

Ilya
27.07.2018
17:19:23

Google

Ilya
27.07.2018
17:19:39
спасибо

Yuriy
27.07.2018
19:10:31
здарова, товарищи
как в хаскеле в регулярках вытащить из матча подстроку в скобках
например, имея регулярку ^file_number_([0-9]+)\.html, вытащить число в скобках
λ> :m + Text.Regex.Applicative Text.Regex.Applicative.Common
λ> "file_number_2128506.html" =~ ("file_number_" *> some digit <* ".html")
Just [2, 1, 2, 8, 5, 0, 6]
λ> "file_number_2128506.html" =~ ("file_number_" *> withMatched (some digit) <* ".html")
Just ([2, 1, 2, 8, 5, 0, 6], "2128506")

elton
27.07.2018
19:11:22
фантастика

Yuriy
27.07.2018
19:13:04
аппликативы вообще прекрасны

Denis
27.07.2018
19:22:50
between (string "file_number_") (string ".html") (some digit)

Yuriy
27.07.2018
19:35:34

Denis
27.07.2018
19:36:08

Yuriy
27.07.2018
19:40:03
да