Alexander
ну не сегодня точно
A64m
Ну я смотрю везде одно и то же, наивная версия тормозная (в плюсах нормальная), а если пострадать то сносное время выходит и примерно одинаковое
Aragaer
чот какой-то странный эффект словил - на 900 строках норм, на 1000 сегфолт 8)
Dmitry
на сях страдать адово, например
A64m
да тут понятно, я про что-то более щадящее
Aragaer
а, не, фигня со строками, вот в чем дела
Aragaer
забавно, но при запуске в валгринде он при этом не падает
Alexander
не использовать гит печально
Alexander
я чот поменял пока дебажил..
A64m
четырехсекундная плюсовая вообще лучше раста выглядит
Aragaer
все, нужно больше спать 8)
A64m
Ладно я думаю, в том бенчмарке из streaming-bytestring причина тормозов та же что и тут, что я сейчас и проверю
Aragaer
$ time ./prog <in.txt >/dev/null Got 129998 bytes real 0m1.706s user 0m1.676s sys 0m0.020s
Aragaer
выглядит похожим на правду
Aragaer
сделал постраничный вывод
Aragaer
от O3 профит незначительный
Aragaer
апдейтнул тот же гист
Aragaer
3,529,824,832 /build/glibc-MECilU/glibc-2.24/string/../sysdeps/x86_64/rawmemchr.S:rawmemchr [/lib/x86_64-linux-gnu/libc-2.24.so]
Aragaer
IO перестало быть узким местом
eahqzsr
Кто-то ведет реестр вариантов?
Кабачок
Кто-то ведет. Я надеюсь.
Alexander
я тоже так надеюсь
Alexander
у @voidlizard было большинство
Vasiliy
а что в качестве входного файла используете
Aragaer
выше по логу ссылка на дропбокс
Dmitry
https://github.com/voidlizard/bsfuck-c/blob/master/bsfuck.c
Dmitry
1.74 vs 1.64 у v-stream
Dmitry
я не знаю уже, как бороться
Vasiliy
чет не нашел никаких дропбоксов
Aragaer
мое с постраничным выводом сколько дает?
Dmitry
обнови ссылку плс
Aragaer
https://www.dropbox.com/s/tjul7froasr6kvn/49zGQ6Zt.txt?dl=0
Alexander
@voidlizard последняя версия
Dmitry
что? где?
Alexander
https://paste.pound-python.org/show/m32DaV4hABCBhWFJqW6v/
Dmitry
@aragaer это ссылка на файл данных
Alexander
больше нету хаков с максимальной строкой и т.п. у меня за секунду +-
Aragaer
https://gist.github.com/aragaer/43300249f0c4ec4f175361d753001efe - а это моя последняя версия
Alexander
собирал с -O3 -march=native -mtune=native
Alexander
0.98s, 1584 по памяти
Aragaer
валгринд говорит, что io вообще не роляет уже, проблема в наивном переборе слов - если входные данные перераскидать, будет профит
Dmitry
@qnikst 1.85
Alexander
а в сравнении, а то я потерялся
Dmitry
моя последняя - 1.69
Dmitry
v-stream - 1.654
Alexander
страннота
Alexander
у меня v-stream 1.24
Alexander
ожидаю мою сишную быстрее..
Dmitry
@aragaer dmz@zen ~/tmp/bsfuck $ time ./prog < ./49zGQ6Zt.txt > /dev/null Got 129998 bytes real 0m1.959s user 0m1.936s sys 0m0.020s dmz@zen ~/tmp/bsfuck $ time ./prog < ./49zGQ6Zt.txt | md5sum Got 129998 bytes aa5ffbcf5db79ff669f50b76b2169d3f - real 0m2.799s user 0m4.948s sys 0m0.408s
Dmitry
@aragaer md5sum не сходится
Alexander
сейчас твою попробую
Dmitry
проверяйте питоном
Aragaer
питоновское где взять?
Alexander
@voidlizard откуда ringbuf взять?
Dmitry
@aragaer https://gist.github.com/voidlizard/2c986d1892d87d90bbcc1126ca72dbff
Dmitry
@qnikst не собирается что ли?
Alexander
ага
Alexander
просит dumb-rb/ringbuf.c
Dmitry
запушил
Dmitry
но он не нужен
Dmitry
makefile забыл почистить
Aragaer
а, ну оно небось должно \r отбрасывать
Alexander
@voidlizard 0.85 твое
Dmitry
@aragaer '\r'
Alexander
пока рекорд у меня
Dmitry
у тебя сколько?
Aragaer
можно считать, что входной файл всегда с \r\n?
Alexander
1s моё, 0.85 твоё, 1.24s haskell
Dmitry
не уверен
Alexander
vstream
Alexander
@aragaer я не считал
Aragaer
ок, а если isalnum взять - честно будет?
Dmitry
🤘
Alexander
isalnum?
Aragaer
впрочем... ща пойду и реализую вариант с раскидыванием по столбцам
Anonymous
бля здесь уже меньше секунды получили?
Alexander
блин там в bsfuck вообще полноценный проект
Alexander
@anarchostatist на моём компе - да
Anonymous
аа