Сергей Ю. Каменев @inetstar
Алгоритмист. Автор. Поставщик SSD, RAID, серверов.
Information
- Rating
- 13-th
- Location
- Москва, Москва и Московская обл., Россия
- Works in
- Date of birth
- Registered
- Activity
Specialization
Backend Developer, Software Architect
Lead
From 500,000 ₽
SQL
Python
Linux
MySQL
Database
Golang
High-loaded systems
OOP
Docker
PostgreSQL
На Linux всё отлично. Все потоки работают. И под Windows работают. Только не под всеми программами.
И ещё нужна информация как установить кастомный циферблат. Записать в папку уже не работает с Zepp Life.
Вот работающая ссылка на исходный циферблат
https://4pda.to/forum/index.php?showtopic=1048744&st=3180#entry120536624
А вот ещё один любопытный:
https://4pda.to/forum/index.php?showtopic=1048744&st=3140#entry120503258
Для того, чтобы far запускался без разархивации на Calculate Linux (российский дистрибутив на базе Gentoo) я делаю так
Далее в /usr/local/bin создаю файл far c таким содержимым:
сам файл far2l.sh содержит следующее:
Можно ли этот процесс как-то упростить?
Я пробовал создавать символьную ссылку на far2l. Не работает.
Когда делать hardlink (твердую ссылку) то же не работает.
И в таком стиле делал файл /usr/local/bin/far:
Тоже не работает.
И ещё вопрос. В каких случая нужно использовать файл с glibc. На очень статой машине, которая не обновлялась лет 10 запустилась обычная версия far.
Спасибо большое за примеры параллельного кода!
Когда я компилировал с помощью gp2c, то увидел, что libpari имеет свои средства для параллелизации. А точнее итераторы для параллельного исполнения parfor_t. И функции parfor_init, parfor_stop. Но у меня не вышло их использовать без доработки.
Что нагенерил gp2c
Этот код у меня не заработал. Подозреваю, что дело в том, что замыкание должно быть создано с помощью динамической компиляции GP-кода. Я не разобрался, как можно скомпилированную Си-функцию подсунуть в parfor_init.
А как в far менять символические ссылки? В mc есть такая возможность. В фар пока не увидел
Я имел ввиду темы. Чтобы можно было за секунду изменить все цвета.
Спасибо за ответ и ссылку.
Я добавил раздел 0, где написано кому может понадобиться PARI. А также добавил ещё раздел 4.5, где обзорно пробежался по другим функциям параллельности в PARI.
Если сравнивать с C#, то порог вхождения несопоставим с PARI и значительно выше у C#.
C# - это язык общего назначения, а PARI - вещь заточенная для быстрого решения математических/вычислительных проблем.
Подскажите, пожалуйтса, есть ли возможность менять цветовую схему, как в mc?
Может стоит сказать о современных воплощениях?
https://github.com/unxed/dn2l
http://ndn.muxe.com
Я нашёл такую рекомендацию где-то в сети. Правда, для Linux.
Фактически, я часто просто вывожу в критической секции результаты параллельных функций в поток вывода или файл, а потом анализирую. Очень просто. Никаких заморочек с общими переменными. Вообще общие переменные использую только для чтения, как константы.
Но в критической секции можно результаты функций в какой-то глобальный массив записывать.
Кстати, о самой фразе, которую вы процитировали. Это разные предложения.
Язык GP просто облегчает задачу, когда нужно что-то по-быстрому посчитать.
Я, например, могу написать параллельный код на Go или Python, но на GP для меня будет проще, если мне не нужны какие-то тонкости.
Я так понял вы решили начать по хардкору, написав на Си с использованием libpari. Тут, действительно, потребуется больше времени.
Проще всего скомпилировать в библиотеку самую тяжёлую часть и загружать из pari. И даже это нужно делать только тогда, когда вся логика уже безукоризненно отлажена, а вычисления реально занимают часы или дни.
Параллельные вычисления в языках общего назначения - это сложно и если нужно за полчаса написать программу, то вы не сделаете этого никогда не запускав C# до этого. В PARI достаточно, чтобы каждая процедура была автономной для параллельности.
А c PARI сделаете. А учитывая, что PARI поддерживает неограниченную точность и огромное количество математических функций, то задача ещё упрощается.
Сколько ещё по-вашему будут хайповыми мини-аппы?
Похоже ваш код так и делает, как я предложил. Извините, торопился, понял неправильно.
Да, типа как таблицу квадратов: n^2, n^4, n^8, n^16, n^32. В общем случае n^(2^i). Но в принципе можно, наверное, извратиться, чтобы и без таблицы вовсе. Или можно таблицу сделать в стеке и рекурсией вынимать из неё значения.
Так меньше всего действий. Всё через умножение.
Вопрос. Если бы у вас стояла задача просто сделать телеграмм мини апп, то какой бы стэк вы выбрали?
Представьте у клиента нет никаких мобильных приложений. Причём, желательно, чтобы бэкэнд можно было подключить на любом языке, не только на node.js.
В принципе для итеративного возведения в целую степень можно было написать функцию, которая возводит в квадраты. Потребовалось бы сильно меньше итераций.
n^2 - (n^2)^2 - .... - n^4096 (12 шагов для получения n^4096)
*(n^2048)*(n^1024)*(n^512)*(n^256)*(n^64) плюс ещё 5 умножений на известные числа
Итого 17 шагов.