Anonymous
м ок
Dmitry
но надо сказать, что я впечатлен pypy-ем
Dmitry
я на питон забил, когда он был только в проекте
Dmitry
а поди ж ты, как раздухарились с тех пор
Denis
пробую тут ATS
Dmitry
хаха
Зигохистоморфный
Атс?) Автоматическая телефонная станция?
Denis
в течение первого получаса мне удалось написать программу, которая компилируется в C, но не компилируется gcc
Denis
поэтому взрывается с непонятной ошибкой от gcc
Denis
https://gist.github.com/dredozubov/d822fc280cccc483de0b4a147f66dad6 из хелловорлда практически получил
Denis
t@pe <- а еще вот это потрясный кейворд, лол
Dmitry
на
x@(a,b) = (1,2)
никто не жалуется, например
Denis
только в ats это кейворд
Dmitry
а, это в сях получился такой идетификатор?
Dmitry
а.
Vladislav
настолько классная история, что только с третьего раза верится
Vladislav
синтаксис ATS 1 ❤️
Denis
extern fun swap
{a : t@ype}
Denis
точнее вот так, вот это реально из кода
Aragaer
error: expected expression before ‘)’ token
Dmitry
говорят, кто-то знает человека, который знаком с кем-то, кто написал работающую программу на ATS
Aragaer
мне кажется, компилятор С не понял синтаксиса темплейтов из с++
Aragaer
g0float_mul<S2Eextkind(atstype_double)>
Aragaer
он ругается на то, что у правого знака "больше" нет второго операнда
A64m
Попов вроде какой-то хеллоуворлд написал таки
Aragaer
поэтому мне кажется, что там получился не сишный код, а плюсовый
A64m
Врятли это кого-то утешит, но написанный не приходя в сознание код на сишарпе помедленнее наивной версии на хаскеле процентов на 20
Dmitry
гист?
Dmitry
ну и раст интересует
Dmitry
ну и го до кучи.
A64m
using System;
using System.IO;
using System.Linq;
class Program
{
static void Main()
{
var arr = File.ReadAllLines("49zGQ6Zt.txt").Select(s => s.Split(' ')).ToArray();
foreach (var p in arr)
foreach (var s in arr)
Console.WriteLine("{0}{1}", p[0], s[1]);
}
}
Anonymous
Denis
а для чего тут linq? чтобы Select можно было юзать?
Dmitry
прикольно.
A64m
да
A64m
тут, конечно, мягко говоря, есть что оптимизировать
Dmitry
https://www.dropbox.com/s/tjul7froasr6kvn/49zGQ6Zt.txt?dl=0
Dmitry
@anarchostatist 👆
Dmitry
@A64m_qb0 а это можно скоипилировать mono ?
Anonymous
Так, а чем бенчмаркаете?
A64m
не знаю, .net core наверное можно
A64m
но и моно наверное можно, тут ничего интересного не используется
Dmitry
собралось, но уныло. что там сделать, что бы более лучше компилировало?
Dmitry
@the_arctic_cat https://t.me/haskellru/49121
Dmitry
короче, бинарник, который собрал mono-mcs кажется делает мой ноут прожечь диван
Dmitry
это успех:
dmz@zen ~/tmp/bsfuck $ time ./bs.exe < ./49zGQ6Zt.txt > /dev/null
real 1m34.145s
user 1m21.720s
sys 0m12.412s
A64m
там явно настройки буферизации ио хуже некуда, да и это не байты
Dmitry
впрочем, первая хаскельная версия вызвала кернел паник
Dmitry
@A64m_qb0 там есть что покрутить?
A64m
у меня первая хаскельная на String 55 сек а эта 70
Dmitry
в настройках компилятора?
Dmitry
и вообще что это? это правда бинарный код, или байткод с прикомпиленным vm ?
A64m
не знаю, какие на моно настройки, но вообще обычно нет, только релизная/дебажная сборка остальное принципиальной разницы не даст
eahqzsr
Я сейчас допишу на C, лол.
Dmitry
блин, кто-нибудь на расте подгоните, я пытаюсь, но меня с непривычки мутит от синтаксиса
A64m
исполняется бинарный код, там такой веселухи с интерпретацией как у жвм бывает нет в принципе
Anonymous
на расте не интересно, давайте luajit
Dmitry
почему?
Dmitry
раст перспективный
A64m
собственно тут и джитится всего ничего все что работу работает уже AOT скомпилировано и закешировано
Dmitry
с сями будет интересно, если не срезать углы, типа не задавать заранее размер строки
Dmitry
у меня где-то валялась обвязка для половины лиспа на сях, о, кстати, оттуда можно и токенизатор взять
Dmitry
ну ка.
eahqzsr
Ну я задефайнил макс размер файла и количество строк. Лень реаллок делать.
eahqzsr
Это все парсер по-любому.
Alexander
у меня где то был hello world на ats2
eahqzsr
Кстати наивная версия на C довольно медленная.
Dmitry
ну, это важная часть. это ж часть трейдофа - то, что на си делается быстро просто потому-то, в других языках приходится делать быстрее за счёт алгоритмов
Denis
А дальше я функцию написал и вызвал, вот там и началось
eahqzsr
https://pastebin.com/h5FL94Ds
A64m
Когда я говорил, что Попов написал хеллоуворлд, это было не буквально
Dmitry
ну на сях неспортивная версия. интересно, во что оно превратится, когда всё по-настоящему
A64m
да там и для это задачи не однострочник
Danila Matveev
надо тегами метить файлы %)
подскажите где пример входных данных?
Alexander
а fast-builder это не тот который через pipe в процесс собирает?
Dmitry
@optician_owl https://t.me/haskellru/49128
eahqzsr
Там в сях 95% кода это парсинг, генерация и вывод ровно 3 строки.
Danila Matveev
#inbound_data