
Denis
10.05.2018
13:29:56

Alexander
10.05.2018
13:30:04
ну ваш аналог РКН

Rinat
10.05.2018
13:30:28
Кстате, а чем быстрее всего переводить цифирки в текст?

Rustem
10.05.2018
13:30:39

Google

Rinat
10.05.2018
13:30:55
Я пользую double-conversion

Rustem
10.05.2018
13:31:02

Rinat
10.05.2018
13:31:12
Но он тока с double работает

Alexander
10.05.2018
13:31:14
https://hackage.haskell.org/package/text-1.2.2.1/docs/Data-Text-Lazy-Builder.html
https://hackage.haskell.org/package/text-1.2.2.1/docs/Data-Text-Lazy-Builder-Int.html

A64m
10.05.2018
13:33:07
это вроде только среди искоробочных самый быстрый, с даблами в text вечно тормоза какие-то

Alexander
10.05.2018
13:33:47
ну вообще юзкейс ещё надо бы узнать

Rinat
10.05.2018
13:33:51
Хмм
То есть вот это медленнее?
https://hackage.haskell.org/package/double-conversion-2.0.2.0/docs/Data-Double-Conversion-Text.html

Alexander
10.05.2018
13:34:34
в студию вызывается criterion

A64m
10.05.2018
13:35:13
раз кто-то специальный пакет для этого сделал - можно предположить что быстрее

Rinat
10.05.2018
13:35:35
Юзкейс - сконвертировать кучу флоатов (ок 100 000 000) в текст с вставкой переноса строки через каждые 10 000

Google

Rinat
10.05.2018
13:36:08
И плюнуть в файл

A64m
10.05.2018
13:36:21
но плохо что там не в билдер даблы конвертятся
там только цифры? так это лучше байтстрингом тогда делать

Rinat
10.05.2018
13:37:08
Просто у меня float. Приходится его в double конвертировать (
И да, плохо, что не в builder
Автор double-conversion пишет, что в bytestring конвертируется медленнее из-за особенностей выделения памяти

Alexander
10.05.2018
13:39:06
автор глупый какой-то
(/me проверяет не он ли автор, а то как с git blame будет)

Rinat
10.05.2018
13:39:40
XD

Alexander
10.05.2018
13:40:13
а bos
он странный
и на email не отвечает

Leonid
10.05.2018
13:40:37
double-conversion этож гугловская хрень на плюсах

Alexander
10.05.2018
13:40:39
точно форкну на zurihac все
https://hackage.haskell.org/package/double-conversion-2.0.2.0
на через гугловую

Rinat
10.05.2018
13:41:08
Ну хз, вообще эта библиотека - биндинг к гугловской сишной, если я правильно помню.
Я просто на ней давно остановился и использую, но меня недавно стали терзать сомнения....

Leonid
10.05.2018
13:41:16
https://github.com/bos/double-conversion/tree/master/double-conversion йеп

Alexander
10.05.2018
13:41:26
ну логично, что байтостроковая версия медленнее
там же не билдер
а если мы будем на каждый чих мелочи аллоцировать то, то и получим

Google

Leonid
10.05.2018
13:41:58
видимо там std::string

Alexander
10.05.2018
13:42:28
convert :: String -> CInt -> (CDouble -> Ptr Word8 -> IO CInt)
-> Double -> ByteString
convert func len act val = unsafePerformIO $ do
fp <- mallocByteString (fromIntegral len)
size <- withForeignPtr fp $ act (realToFrac val)
when (size == -1) .
fail $ "Data.Double.Conversion.ByteString." ++ func ++
": conversion failed (invalid precision requested)"
return $ PS fp 0 (fromIntegral size)
ничего не мешает fixed минимум через билдер делать

A64m
10.05.2018
13:43:00
пакет осалливана в 2008:
быстрый, качественный, хорошо поддерживается
пакет осалливана в 2018:
тормозной, убогий, не поддерживается

Alexander
10.05.2018
13:43:17
просто между 2008 и 2018 он не менялся

Leonid
10.05.2018
13:43:34
хорошо хоть билдится

A64m
10.05.2018
13:43:40
ну да, ожидания выросли просто

Alexander
10.05.2018
13:43:49
т.к. он успел комеинтенеров добавить
вот серьезно, что с resource-pool делать?

Rinat
10.05.2018
13:44:17
С чем?

Alexander
10.05.2018
13:44:32
померять рабочий проект, сказать что вот 4% CPU на пустом месте жрётся, давайте форкать
пакет босовый

Pineapple
10.05.2018
13:44:50
Есть же процесс захвата пакета
Вдруг БоС очнётся

Alexander
10.05.2018
13:45:09
я думаю в случае боса не прокатит
его знают лучше чем меня

Rinat
10.05.2018
13:45:31
У меня просто конвертация матрицы в текст в файле занимает больше, чем все время работы видеокарточки (

Alexander
10.05.2018
13:45:35
Бас (комеинтенер ) предложил мне пакет взять

Pineapple
10.05.2018
13:45:56
Так бери и комеёнтейнь

Alexander
10.05.2018
13:45:57
в текст, для вывода пользователю?

Google

Rinat
10.05.2018
13:46:04
Возьми, я помогу, если что.

Alexander
10.05.2018
13:46:14
у меня прав нету, не баса же на каждый чих пинать

Rinat
10.05.2018
13:46:24
Текст скармливается потом построителю графиков

Alexander
10.05.2018
13:46:24
а прав давания прав у него нету
достаточно логичное это сесть и потратить вечер использование builder для double convertion

Pineapple
10.05.2018
13:47:17
Поднять бучу на тему отдавания полных прав Басу?

Alexander
10.05.2018
13:47:35
Бас тоже не хочет похоже полноценно поддерживать
вот прикольно это пакет который используют все персистенты и все подряд

Rinat
10.05.2018
13:48:04

Pineapple
10.05.2018
13:48:06
А Бас даёт полные права тебе
Ну или достаточные

Alexander
10.05.2018
13:48:23
@HaskellMouse ну почему, никто на hackage не запрещает положить
double-conversion-builder

Rinat
10.05.2018
13:49:04
И да - я еще не лазил в кишочки - насколько оно завязано на тип double?)
Еще раз - у меня все данные во float

Alexander
10.05.2018
13:50:36
@PineappleZombie я думаю на зурихаке баса отловить и все порешать

Rinat
10.05.2018
13:51:11
Сейчас все 100 млн конвертируюся из float в double

Alexander
10.05.2018
13:51:18
@HaskellMouse ну давай посмотрим https://github.com/google/double-conversion

Rinat
10.05.2018
13:51:44
Я как домой доберусь, посмотрю
Ща на улице прост

Google

Alexander
10.05.2018
13:52:24
162 bool ToShortestSingle(float value, StringBuilder* result_builder) const {

Rinat
10.05.2018
13:52:58
Гмм.....

Alexander
10.05.2018
13:54:34
а не не-то
вообще а разве конвертация float->double (если ты структуры не аллоцируешь) будет много жрать?
по сравнению с заполнением буфферов

Rinat
10.05.2018
13:58:04
По крайней мере судя по всему - не так мало

Rustem
10.05.2018
14:00:01
Глупый вопрос, но возможно ли на хаскеле вычислить число пи, и сколько цифр?

Alexander
10.05.2018
14:01:31
встречный вопрос, чем haskell отличается от любого другого языка?

Rustem
10.05.2018
14:02:08

Alexander
10.05.2018
14:02:14

Rustem
10.05.2018
14:02:27

Yuriy
10.05.2018
14:02:37

Alexander
10.05.2018
14:02:42

Yuriy
10.05.2018
14:02:47

Alexander
10.05.2018
14:02:55
число pi не в IEEE считают
а ещё есть ход конём, успешный
написать небольшую программу которая похожа по выводу

Leonid
10.05.2018
14:04:36
С одной стороны не хочется добавлять зависимость на cbor/serialise, с другой хочется инстансов для простых типов для RPC
что делать?

Alexander
10.05.2018
14:04:44
и сказать, что код на питоне (его придётся написать) отработал в 2 раза быстрее