@haskellru

Страница 1375 из 1551
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
коллеги, скажите вы в курсе, что такое матчер для биржи? криптобиржи, если точнее если да, то скажите - хорошо ли его писать на хаскеле? хочу про плюсы и минусы понять
учитывая то, что задача требует какой-то нетривилальной бизнес логики и простора для байтоеб^W оптимизаций, я бы порекомндовал добавить в возможные варианты руст

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: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
у языков с гц порог вхождения ниже, чем у языков без гц

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, а как принимать этот поток заявок - они все за кадром, конечно

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
у нас есть поток заявок типа "куплю N1 единиц валюты V1 за N2 единиц валюты V2"
может, группировать заявки по валютам и диапазонам курсов, и пересылать програмкам, которые крутятся на разных серверах? €/$ можно дальше разбить. по объёмам, например

Dmitry
27.07.2018
12:46:17
это само собой

я исходил из предположения, что 1M валится уже по конкретному инструменту

так-то можно стакан еще и поперёк порезать, конечно. но это зависит от стратегии исполнения

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

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 ’е?

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

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

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

Ilya
27.07.2018
17:13:41
NoMonomorphismRestriction
там foo.hs:9:21: error: Variable not in scope: a | 9 | g b = undefined a b |

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
f a = \b -> (a, g b) where g b = undefined a b
не катит, там ньютайп вокруг лямбды

ок, возьму let-in

Denis
27.07.2018
17:17:50
ок, возьму let-in
а кто мешает сделать g x y = ... и юзать как g a b

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
да

Страница 1375 из 1551