Ilya
Ну вот, понтуйся перед Айратом достижениями оттуда.
Vasily
Кароч , Феникс неплох как игра, но с сейвами какая-то шляпа
Ilya
Это ассасино-зельда от юбисофт?
Vasily
Угу
Vasily
Боевка норм
Ilya
Для рогалика это ок.
Ayrat
Да, эт вапще ок
Ayrat
в исааке у меня наверное тыща, хз
Oleg
вся соль рогаликов как раз много ранов
Oleg
это основная черта жанра, хардовая смерть с потерей всего + разнообразие новых стартов
Sergey
Sergey
Я все видел
Ilya
Да этот шакал кволити меня убивает
Prunkles
sharplab Бедный компилятор. Заинлайнить-то он заинлайнил, но динамические вызовы для интеропа всё равно создал, и выглядит это страшно
Ayrat
пасаны, какая ДБ сможет быстро найти ближайшее меньшее число для заданного? Мне понятно что это дерево например, но я не хочу велосипедить. Хочется отгрузить в ДБ пару терабайт данных и потом делать какой-то запрос чтобы получить строку
Ayrat
например 1 2 8 15 ищем 7 получаем 2 ищем 15 получаем 15
Anatoly
Любая?
Ayrat
ну хотя бы примеры
Anatoly
where field < 7 limit 1
Anatoly
Любая вообще база с индексом сделает
Ayrat
ЛОГИЧНО
Ayrat
но индекс нужен сортированный
Ayrat
ну да, резонно
Anatoly
Он по умолчанию такой
Ayrat
ну не везде
Anatoly
Если он деревянный
Anatoly
То есть берёшь любую реляционку
Ayrat
есть распределенные индексы, они не сортированные, но хешированные
Ayrat
Ну там хештаблица, а не дерево внутри
ну бывает сортированный хеш, а бывает просто хеш. св-ва поиска по ним разные
Ayrat
но да, ты прав. мне нужна любая бд с сортированным индексом
Крылатый
Постгря!
Anonymous
Anonymous
ккто тут на Сишарпе на работе пишет, кому ЭфШарп нельзя?
Vasiliy
лол. хорошая картинка
Vasiliy
Я
ээээээ?)
Ilya
ккто тут на Сишарпе на работе пишет, кому ЭфШарп нельзя?
Я. Только я себе сам запрещаю, от работодателя разрешение было получено.
Vlæd
ээээээ?)
У меня две команды. В одной на Ф# нельзя, в другой на С#.
Ilya
Хотя про легаси и современность F# и C# можно поспорить. Когда там интерполяцию в фшарп добавили?
Ilya
Вот именно.
Vladyslav
ккто тут на Сишарпе на работе пишет, кому ЭфШарп нельзя?
мои небось даже и не знаю что это такое
Roman
мои небось даже и не знаю что это такое
нонсенс, все разработчики хотя бы слышали о сишарпе
Ilya
мои небось даже и не знаю что это такое
Да в этом чате тоже половина не знает, наверное😏
Vlæd
А они друг о друге знают?
Я не могу ни подтвердить ни опровергнуть эту информацию.
Roman
Vlæd
Roslyn LSP ещё
Roman
Omnisharp, test platform
и где тебе интересней?
Ilya
А ведь можно писать на работе легаси фшарп, а дома делать пет на сишарпе!
Ayrat
Я уж думал ты на апворке круды по вечерам делаешь
Vlæd
и где тебе интересней?
Интересней в фшарпе естественно.
Vladyslav
А ведь можно писать на работе легаси фшарп, а дома делать пет на сишарпе!
делать на работе современный фшарп, а дома легаси пет на сишарпе
Anonymous
пет на С было лучше
Sergey
Roman
Интересней в фшарпе естественно.
чисто из-за языка или сами задачи пизже?
Vladyslav
пет на С было лучше
нет такой буквы, вращайте барабан
Vlæd
чисто из-за языка или сами задачи пизже?
Задачи, интересно в компиляторе ковыряться. Каждый день что-то новое узнаю. Вон всю прошлую неделю сидел и пытался понять как witness passing работает. Тестплатформа и тулинг для C# более высокого уровня штуки, там попроще.
Vlæd
Так он там есть уже, я про srtp
Vlæd
Всмысле пассинг в сртп
Vlæd
Ты наверное quotations имеешь в виду?
Prunkles
Его ещё не завезли?
Vlæd
Вроде нет
Vlæd
Его ещё не завезли?
А, погоди, вроде вмержили уже https://github.com/dotnet/fsharp/pull/6810
Anonymous
Помогайте, умные головы. Я в Уклоне в отделе RND, конкретно сейчас занимаюсь улучшением расчетов кратчайших путей от водителя до заказчика(ков) в режиме псевдореального времени (шаг планируется каждые 1 или, в худшем случае, 3 секунды). Дорожный граф того же Киева предполагает 120 тысяч вершин и это картографы еще жадничают, т.е. потенциально количество вершин может дойти и до 250 тысяч. Есть разновидность Дейкстры, основанной на геоэвристике, который сейчас НЕ будем обсуждать, он есть и считаем что он работает хорошо, он стремится к *линейному* времени, что очень хорошо, все рады, все довольны. Но 250 тысяч это все равно, даже для этого алгоритма, очень много. Поэтому есть этап пре-обработки дорожного графа, а именно - разделение вершин на первичные и вторичные, чтобы кратчайший путь считать только между парами первичных вершин. То есть, все то же самое, просто граф будет меньше. И вот это сейчас болит.
Anonymous
Суть такая:
Anonymous
Сейчас алгоритм не параллелится. Он могет съесть примерно 700 вершин В ЧАС при загрузке CPU в 80% на машине с 8 ядрами и хуевой тучей оперативки. Граф полностью в RAM, потерь на IO нет. Мне надо взять какую-то адекватную технологию, которая позволит быстро (это RND) закинуть это в кластер, чтобы тот же Киев можно было заимпортировать за час, максимум 2.
Anonymous
Первчиные вершины высчитываются очевидным образом, есть полный порядок вершин, первая первичная вершина это, например, крайняя левая (юго-запад) точка на графе, а дальше все, что в радиусе N метров - вторично по отношению к этой вершине. Расписывать глубоко алгоритм не вижу смысла, он интуитивный. По сути, это разделение города на маленькие области. Есть правило, по которому разруливается кейс, когда вторичная вершина принадлежит сразу нескольким первичным, выигрывает всегда одна и та же детерменированным образом.
Anonymous
Главный вопрос - какая технология из мейнстримовых хорошо подходит для описанной задачи? С вычислительными ресурсами проблем нет, кластер на 20-100 машин хоть завтра.
Anonymous
Ну дело же не в технологии, а в алгоритме. Не?
Anonymous
Если что-то не параллелится, то ищут приблизительную замену алгоритма, но чтобы параллелилось
Anonymous
Не совсем. Алгоритм-то такой и останется, потому что другого нет (и едва ли мы придумаем). Партицировать можно следующим образом: каждая нода имеет полную копию графа (хуй с ним на память) и отвечает на вопрос: ДАЙ МНЕ КРАТЧАЙШЕЕ РАССТОЯНИЕ ОТ А В Б?
Ayrat
Если его нельзя дивайд, то ищи другой алгоритм который позволит разделить, посчитать, а потом собрать