Обновить
4

Пользователь

Отправить сообщение
Еще можно упомянуть hotspot — GUI оболочка к perf.
Видел такую ошибку при запуске scenebuilder. Нужна более высокая версия java. 52 это 8я java как я понял.
en.wikipedia.org/wiki/Swappiness
>Swap is disabled. In earlier versions, this meant that the kernel would swap only to avoid an out of memory condition, when free memory will be below vm.min_free_kbytes limit, but in later versions this is achieved by setting to 1. See the «VM Sysctl documentation».

Не знаю с какого ядра это поменялось, но при =0 не наблюдал свопа даже напрямую из исполняемых файлов. А так вы правы, и винда и линь (при =1) могут вытеснить страницы, занимаемые кодом, даже при отсутствии своп файла\раздела.
А он нужен для разработки или для запуска получившегося jar тоже?
У слака это возможно зависит от количества каналов и истории. У меня слак выжирает до 2.5гб. Я писал им в поддержку, они согласились, что это bad experience, но сделать ничего так и не сделали.
Сам nuklear не занимается эвентами от системы, их ему надо передавать самостоятельно (с чем и помогает nuklear+). Вот как эвенты передают в нормальном режиме — точно так же вы можете их передавать от тестовых сценариев. Так же состояние доступно через nk_context, можно изменять состояние виждетов не через эвенты.
Нет, для ежедневных сборок используем hockeyapp, оттуда уже всем тестировщикам рассылается автоматом.
Это если провайдер releases, но их больше и параметр tags отключаемый, так же другие провайдеры, которые тут не поддерживаются, предоставляют свои готовые скрипты как залить им (например hockeyapp). В releases, кстати, после удалении метки файлы оставались, так что может и залить без метки может, но я не пробовал.
Можно еще через секцию deploy, я предпочитаю именно так:
deploy:
  - provider: releases
    api_key:
      secure: [hash]
    file:
      - linux.zip
      - win.zip
    skip_cleanup: true
    on:
      condition: $TRAVIS_OS_NAME == linux
      tags: true
Если делать новое приложение с нуля и только под QT — то подойдет. А если уже есть нативный GL код — то все равно придется портировать. И не понятно, зачем нужен SDL без GL без QT.
Меня больше всего интересует как использовать GLES API без QML. GL код обычно уже готовый, переписывать все на QML ради одной платформы — не вариант. Видел что там вроде разрешили SDL приложения, но как штатно инициализировать GLES так и не нашел.
Меняются то они часто, но вот принципиально блоков умножения больше чем блоков ALU не становится, т.к. эти блоки дорогие по площади кристалла. Вот например Skylake посмотрите https://en.wikichip.org/wiki/intel/microarchitectures/skylake_(client)#Execution_engine
ALU по прежнему больше и тому объективные причины, а не потому что не хочется.
Однако блоков умножения у современных процессоров обычно меньше чем ALU, и при out-of-order исполнении давление на эти блоки может оказаться высоким, а ALU блоки простаивать. Так что такие оптимизации все еще могут иметь смысл.
Подвох в том, что по стандарту это UB. Несмотря на то что указатель скастили вот только что — на указателях этих есть пометка, что они гарантированно не пересекаются (когда они гарантированно пересекаются), нарушается правило strict aliasing стандарта. Кстати в статье не указан еще один метод: пометить указатели как могущие пересекаться __attribute__((__may_alias__)), но это уже расширение.
У меня бесплатная 2015 community проработала 30 дней и показала экран или логинься или выходи. В версиях до 2015 все норм. Причем и после логина оно слетало и заставляло заходить снова (видимо каждые 30 дней).
Я не терплю под андройдом, если рутованый девайс — можно заблокировать сетевой доступ приложениям которым он реально не нужен или отфильтровать аналитику тем кто нужен через iptables. Так же на sailfish это можно сделать из коробки без рута.
Так что эта проблема решаема в отличии от. Так же не радует повсеместное добавление обязательного требования онлайн логина, даже там где не нужно, например в вижалстудии.
Ну я разбирался, и пытался все отключить, т.к. оно мешало моему анализатору трафика (который использую например для анализа марвари). Если думаете что уберете все галочки и все отключите — вы ошибаетесь, когда фильтр разросся до 200+ адресов я устал разбираться и выдернул кучу сервисов с корнем (позже развернул вайновый сандбокс на линуксе). Причем DWS поверх всего отключенного тоже не помогает, наблюдал как он обходится с апдейтами. Во время XP это не было проблемой, а теперь — удачи с отключением.
Тоже находил баг в 2010 студии:
#include <stdio.h>

#define TRIGGER_BUG
// Tested with:
// cl.exe ver 16.00.40219.01 for 80x86
// cl.exe ver 16.00.40219.01 for x64
// compile: cl /O2 /Ob2 vc2010_bug.cpp
// correct ouptut: 001001000
// actual  ouptut: 001001100

volatile int val = 36;

static unsigned char *mkbits(unsigned int Inp, unsigned char *buf, unsigned int BitNum)
{
    unsigned int i;
    for (i = 0; i < BitNum; i++)
    {
#ifndef TRIGGER_BUG
        buf[i] = (Inp & (1 << i)) ? 1 : 0;
#else
        buf[i] = (Inp & 1);
        Inp >>= 1;
#endif
    }
    return buf + BitNum;
}

void Pack()
{
    unsigned char buf[10];
    unsigned char *pbuf = buf;

    pbuf = mkbits(val, pbuf, 7);
    pbuf = mkbits(0, pbuf, 2);

    for (int i = 0; i < 9; i++)
        printf("%c", buf[i] ? '1' : '0');
    printf("\n");
}

int main(int argc, char** argv)
{
    Pack();
    return 0;
}

Работает только на указанной версии, в сервиспаках исправлено.
Проблема в том, что один добавленный эвент в kqueue — на самом деле фильтр, который может генерировать много разных эвентов в сек. Например можно добавить:
    EV_SET(ke, fd, EVFILT_VNODE, EV_ADD | EV_CLEAR, NOTE_DELETE | NOTE_*..., 0, NULL);
    EV_SET(ke + 1, SIGXXX, EVFILT_SIGNAL, EV_ADD, 0, 0, NULL);

Всего 2 эвента, но при этом начнут накапливаться пачки ke->filter == EVFILT_VNODE, ke->fflags & NOTE_* (и агрегировать их нельзя, т.к. у них разные ke->data) в перемешку с ke->filter == EVFILT_SIGNAL.

Вот надежного решения этой проблемы я и не вижу.
А можете подсказать по возникшим проблемам во фре?
1) Делал ptrace песочницу. Мне не хватило того что есть в линухе __WNOTHREAD и PTRACE_O_TRACESYSGOOD кажется. Для корректной работы с тредами и сигналами. Нашел systrace, но тоже не понял как корректно работать с тредами.

2) По поводу kqueue, с точки зрения пользователя все здорово и удобно. А вот попытался я драйвер сделать, и у меня вопросы по методам накопления эвентов в ядре. Для epoll все просто, все дескрипторы преаллоцированы, для всего остального можно дропать. А при kqueue, если приложение залипнет на секунду, на две? Сколько и каких эвентов накапливать попадающих в фильтр? Там же переполнение может возникнуть.

3) Пробелма не софсем про фрю, пробовал только на маке — dtrace буфера не гарантированно доставляются, особенно если начать уменьшать размер буфера. Соответственно я не могу на него рассчитывать, если что-то надо посчитать точно, или протрейсить вызовы, особенно если хочется развернуть то что по ссылкам структур, как это делает strace. Вот мой костыль, чтобы хотя бы аргумент execve() достать https://github.com/lieff/mac_exectrace

Информация

В рейтинге
5 062-й
Откуда
Россия
Зарегистрирован
Активность