LINUX.ORG.RU

Избранные сообщения eagleivg

Требования к плюсовому миддлу в 2018

Форум — Talks

А, собственно, чего сейчас хотят от C++ миддла? Какая обычная вилка зарплат, вопросы на собеседовании и т.д и т.п.

 ,

Meyer
()

Генерация карт высот под линуксами

Форум — Games

В общем нужно для игрового движка сгенерировать карту высот, то бишь Terrain Heightmap. Есть ли программы для линуксов? Программа очень нужна, ибо в ландшафтном дизайне я полный ноль, а красивый ландшафт очень хочется сделать.

Подойдут любые - платные(пробные), бесплатные, проприетарные и т.д..

Перемещено JB из talks

 

ozzee
()

Int в Hex, ускорить и укоротить

Форум — Development

Можно ли заоптимизировать эту функцию?

char * intToHex(int32_t value, uint32_t up, uint32_t pre, uint32_t msize)
{
    const char * hexdigit[2] = {"0123456789abcdef",
                                "0123456789ABCDEF"};

    union itou
    {
        int32_t  i;
        uint32_t u;
    };

    union itou conv;
    conv.i = value;

    uint32_t pos = 0;
    char * result;
                                    /* 0x    FF FF FF FF         \0 */
    if (!(result = malloc(sign(pre) * 2 + sizeof(uint32_t) * 2 + 1)))
        return 0;

    if (pre)
    {
        strcpy(result, "0x");
        pos = 2;
    }

    while (1UL << (msize * 4) > conv.u)
    {
        result[pos++] = '0';
        msize--;
    }

    while (conv.u != 0)
    {
        result[pos++] = hexdigit[sign(up)][conv.u & 0xF];
        conv.u >>= 4;
    }

    result[pos] = '\0';

    return result;
}

 ,

sambist
()

Господа, давайте достанем и померяемся

Форум — Talks

Давайте сравним производительность различных процессоров не с помощью ангажированных производителями непонятных бенчмарков, а используя старый добрый openssl (в особенности интересно сравнить аналогичные процессоры Intel и AMD).

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

cat /proc/cpuinfo|sed -rn 's/.*el na.*: //p'|uniq -c; openssl speed md5 -multi `cat /proc/cpuinfo|grep 'el na'|wc -l` 2>&1|grep ^md5

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

16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
Чем больше, тем лучше.

Update: TL;DR, результаты можно посмотреть тут

 , ,

Deleted
()

Функциональная языкометрия

Форум — Development

Поскольку, как всем известно, основное предназначение различных функциональных ЯП состоит в расчете факториалов, давайте померяемся - какой ЯП это делает быстрее (при условии что делает правильно)? Естественно имеет значение машина на которой идет счет.

Условия такие - надо посчитать 10000! и вывести его в 16ти-ричном виде (буквочки маленькие), без всяких '0x' вначале и какой то служебной лабуды в конце. Что бы не постить прстыни, для контроля правильности ответа предлагается использовать md5sum. Вот как это выглядит на втором питоне:

$ python -c 'print hex(reduce( long.__mul__, range(1,10000+1), 1L ))[2:-1]' | md5sum
3de6339590fbdf0a1c0ae2f2b820f8bf  -

Вот однострочник, выводящий модель проца, частоту и время работы (я привожу несколько примеров для доступных мне машин):

$ ssh host1 "less /proc/cpuinfo | grep 'model' | tail -n 1; less /proc/cpuinfo | grep 'cpu MHz' | tail -n 1; time python -c 'print hex(reduce( long.__mul__, range(1,10000+1), 1L ))[2:-1]' | md5sum"
model name      : AMD FX(tm)-8320 Eight-Core Processor           
cpu MHz         : 1400.000
3de6339590fbdf0a1c0ae2f2b820f8bf  -

real    0m0.058s
user    0m0.048s
sys     0m0.008s

-------------------------------------------------
model name      : Intel(R) Core(TM)2 CPU         U7500  @ 1.06GHz
cpu MHz         : 798.000
3de6339590fbdf0a1c0ae2f2b820f8bf  -

real    0m0.301s
user    0m0.256s
sys     0m0.024s

--------------------------------------------------
model name      : Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz
cpu MHz         : 1600.000
3de6339590fbdf0a1c0ae2f2b820f8bf  -

real    0m0.042s
user    0m0.040s
sys     0m0.000s

--------------------------------------------------
model name      : AMD Phenom(tm) 9550 Quad-Core Processor
cpu MHz         : 1100.000
3de6339590fbdf0a1c0ae2f2b820f8bf  -

real    0m0.083s
user    0m0.068s
sys     0m0.012s

---------------------------------------------------
model name      : AMD Phenom(tm) 9850 Quad-Core Processor
cpu MHz         : 2506.801
3de6339590fbdf0a1c0ae2f2b820f8bf  -

real    0m0.123s
user    0m0.118s
sys     0m0.004s

----------------------------------------------------
model name      : Intel(R) Core(TM)2 Quad  CPU   Q9450  @ 2.66GHz
cpu MHz         : 2506.801
3de6339590fbdf0a1c0ae2f2b820f8bf  -

real    0m0.124s
user    0m0.118s
sys     0m0.006s

----------------------------------------------------
model name      : AMD Opteron(tm) Processor 6174
cpu MHz         : 2506.801
3de6339590fbdf0a1c0ae2f2b820f8bf  -

real    0m0.120s
user    0m0.119s
sys     0m0.002s

----------------------------------------------------
model name      : Intel(R) Xeon(R) CPU           X5670  @ 2.93GHz
cpu MHz         : 1600.000
3de6339590fbdf0a1c0ae2f2b820f8bf  -

real    0m0.120s
user    0m0.060s
sys     0m0.004s

Я к чему предлагаю померяться - только что обнаружил в соседнем треде, что вечный-тормоз-питон в таком тесте на порядок(!) обогнал священную-корову-лисп;-)))

Предлагайте свои решения на других ЯП (хаскель очень интересен;-))

 расчет факториала

AIv
()

Посоветуйте выразительной фортепианной музыки.

Форум — Talks

Типа размашистого аккомпанимента к романсу. Можно заковырестый джаз. Интересует ещё импровизация, типа Кейта Джаррета, когда он шоколадок обжирается.

kiverattes
()

Интерес пощупать фриланс

Форум — Job

В связи с тем, что новая работа высвободила тонну времени (а денег как всегда хочется еще) решил попробовать себя в фрилансе, соответственно вопрос, с чего начать?

- стоит ли регаться на всех фрилансерских сайтах подряд или есть один-два самых адекватных и доступных; - какие то советы по построению отношений с заказчиком (с рождения добр и верю в людей, а в современном обществе это больше недостаток уже)

И вообще, что почитать на тему подводных камней и прочего?

nerfur
()

Кто как пишет под *nix

Форум — Development

Привет всем. Хочется узнать кто чем польуется при программировании в *nix? Не нужно воин, просто чем пользуетесь - редактор + плагины + отладчик и прочее. Я что-то чего только не перепробывал, но не могу нормально к чему-то привыкнуть. Что советуете почитать по gdb для эффективной отладки? Интересно все :)

dershokus
()

Team Fortress 2 доступен

Форум — Talks

Теперь его могут установить не только участники бета-теста. Workaround для бага с генерацией шейдеров, проблема со Steam Overlay на Mesa, другие известные баги.

 , , ,

RussianNeuroMancer
()

чувствительность мыши

Форум — Linux-hardware

Отрастил я домашнему компу третий манипулятор. Надо для него, и только для него, уменьшить чувствительность. Сам Logitech M570 подхватился сразу. В логах он такой
[ 39.954] (II) config/udev: Adding input device Logitech Unifying Device. Wireless PID:1028 (/dev/input/event12)
[ 39.954] (**) Logitech Unifying Device. Wireless PID:1028: Applying InputClass «evdev pointer catchall»
[ 39.954] (II) Using input driver 'evdev' for 'Logitech Unifying Device. Wireless PID:1028'
[ 39.954] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[ 39.954] (**) Logitech Unifying Device. Wireless PID:1028: always reports core events
[ 39.954] (**) Logitech Unifying Device. Wireless PID:1028: Device: «/dev/input/event12»
[ 39.954] (--) Logitech Unifying Device. Wireless PID:1028: Found 20 mouse buttons
[ 39.954] (--) Logitech Unifying Device. Wireless PID:1028: Found scroll wheel(s)
[ 39.954] (--) Logitech Unifying Device. Wireless PID:1028: Found relative axes
[ 39.954] (--) Logitech Unifying Device. Wireless PID:1028: Found x and y relative axes
[ 39.954] (II) Logitech Unifying Device. Wireless PID:1028: Configuring as mouse
[ 39.954] (II) Logitech Unifying Device. Wireless PID:1028: Adding scrollwheel support
[ 39.954] (**) Logitech Unifying Device. Wireless PID:1028: YAxisMapping: buttons 4 and 5
[ 39.954] (**) Logitech Unifying Device. Wireless PID:1028: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[ 39.954] (**) Option «config_info» «udev:/sys/devices/pci0000:00/0000:00:13.0/usb5/5-1/5-1.3/5-1.3:1.2/0003:046D:C52B.0008/input/input12/event12»
[ 39.954] (II) XINPUT: Adding extended input device «Logitech Unifying Device. Wireless PID:1028» (type: MOUSE, id 14)
[ 39.954] (II) Logitech Unifying Device. Wireless PID:1028: initialized for relative axes.
[ 39.954] (**) Logitech Unifying Device. Wireless PID:1028: (accel) keeping acceleration scheme 1
[ 39.954] (**) Logitech Unifying Device. Wireless PID:1028: (accel) acceleration profile 0
[ 39.954] (**) Logitech Unifying Device. Wireless PID:1028: (accel) acceleration factor: 2.000
[ 39.954] (**) Logitech Unifying Device. Wireless PID:1028: (accel) acceleration threshold: 4

С какого конца начать? прописать его жестко в Xorg.conf с чувствительностью или все таки заходить через udev как то???

griz
()