Pull to refresh
-7
@oleg-x2001read⁠-⁠only

User

Send message
А вы знаете что на нем сейчас считают? Если да, то может поделитесь сим знанием?
Openshit Origin — как система развертывании тестовых окружений.
— это круто!
Я охотно могу поверить что в lightroom и аналогичных продуктах больше «ручек» и «выключателей» чем в гимпе, но применение такого количества этих ручек и выключателей характерно скорее для профессиональной деятельности чем для «редактирования семейных фоточек». Ну так я и не говорю о профессиональной деятельности, где действиетльно аналогов некоторых программ может и не быть. А для «редактирования фоточек» — ну что такого можно редактировать в какой-нибудь фотке с пивом Балтика на фоне Эйфелевой башни? Пацаны и так оценят )
Я не занимаюсь «редактированием семейных фоточек», но все же чем плох gimp? Допускаю что какой-нибудь условный darktable «круче» гимпа, но эта крутость вряд ли нужна для «редактирования семейных фоточек».

Безопасность именно оболочки на низком уровне, но это такой — можно пообсуждать


Что такое безопасность «именно оболочки»?

Можно включить чистую устанвоку и увидеть смерть оболочки и снова надо гуглить, при этом случается весьма рендомно


Ну рандомно оно случается вовсе не по вине оболочки, а кое-кого другого ) А вообще-то в современных дистрибутивах типа убунты или опенсузи такого не наблюдается (у меня по крайней мере).

Вообще, по стилю изложения сильно смахивает на Дениса Попова… Дениска, ты теперь фанатом винды заделался? Ну ее то выдать за свою поделку вряд ли получится…
А почему бы не использовать cvxopt? Это, пожалуй, самый мощный пакет для выпуклой оптимизации.
А что еще такого надо «нормальному человеку» что надо обязательно запускать через wine? Все что надо для «нормального человека» в линуксе нативное. А вот для определенного рода профессиональной деятельности действительно чего-то может нехватать (Visual Studio например или Corel Designer).
Курс высшей математики за 4 недели:

Неделя 1

Таблица умножения
Элементарные арфметические операции
Возведение в степень и логарифмы
Тригонометрические функции

Неделя 2

Производная функции
Интегрирование

Неделя 3

Вычисление определенных интегралов с помощью вычетов
Формула Гаусса-Бонне

Неделя 4

Применение дифференциальной геометрии в общей теории относительности

Неделя 5

Доклад на международной математической конференции
Спасибо за объяснение! Конечно, такой пример сам по себе вряд ли встретится в реальном коде, но подобная оптимизация может быть полезна для целого класса более реалистичных алгоритмов. Я это расхождение между gcc и icc заметил давно, просто руки не доходили об этом написать, но вот сегодня наткнулся на этот пост… Меня это всегда удивляло — тут ничего не распараллеливается, ничего не векторизуются, тут просто нет опций которые можно комбинировать и смотреть что получится. Оказывается, все не так уж загадочно )
Сам по себе этот пример, конечно, малореалистичный, но все-таки разница в два раза это как-то слишком. Просто интересно за счет чего — как я уже говорил, тут используются уж очень базовые элементы языка, вроде бы никаких вариаций быть не должно, но тем не менее разница в два раза.

Сам я, к сожалению, не обладаю достаточной квалификацией чтобы быстро прояснить эту ситуацию, так что если кто доступно объяснит — было бы любопытно узнать )
Я тоже только что повторил тест без флагов оптимизации: gcc — 17.8, icc — 14,0. То есть что касается icc то -O3 вообще не оказыват влияния на результат в данном случае, а вот gcc ускоряется почти в три раза. Проведите тест с флагом -O3, как я и писал в самом начале. Для полноты картины:

gcc -O3 fib.c -o fib-gcc

icc -O3 -xHost fib.c -o fib-icc

Да, векторизации тут нет и именно это и интересно — тестируются только самые базовые элементы языка. Я не представляю какие тут вообще возможны варианты кроме уровня оптимизации, и тем не менее разница в два раза.
Вот пример сходу. Есть такой крошечный тест — рекурсивное вычисление факториала (практической ценности, разумеется, не имеет):

#include <stdio.h>

long fib(long n) {
    if (n < 2)
        return 1;
    return fib(n-2) + fib(n-1);
}

int main(int argc, char const* argv[]) {
    printf("%ld\n", fib(47));
    return 0;
}


На одном и том же железе (и системе) файл сгенерированный gcc работает 7с, в то время как сгенерированный icc (17.0.4) — 16с. Более чем в два раза медленнее! В обоих случаях использовалась только одна опция, -O3. Если использовать -xHost для icc то результат 14с. Лучше, чем 16, но все равно в два раза медленнее. Пример, конечно, банальный, но разница тоже не маленькая…
2

Information

Rating
Does not participate
Registered
Activity