Задать вопрос
  • Не запускается код на C++, что не так?

    @rPman
    что и следовало доказать! запускай установщик Visual Studio и выбирай 'починить'
    p.s. у тебя 32-битная windows? чудно
    дело в том что постепенно поддержку 32-битных приложений будут прекращать все, рано или поздно... может майкрософт уже?
  • Очень быстро лить в БД 1 млн. строк в секунду и настолько же быстро читать их. Как лучше осуществить?

    @rPman
    потербителей данных мало, по факту даже многопользовательского доступа у топиккастера скорее всего нет, максимум многопользовательское чтение и то без пересечения по данным, а значит любое решение с ее поддержкой будет менее эффективно.
  • Как скрыть факт использования впн?

    @rPman
    Нет скорее региональная специфика, факты понижения скорости наблюдал неоднократно но не регулярно, понижение скорости происходит при объемах в несколько (десятки) гигабайт в сутки, это приличный объем для частника, понижение скорости скорее ради 'приструнить оборзевшего клиента', если что у меня трафик высокий до моих впс-ок, регулярно выдающих с десяток гигабайт в сутки
  • Очень быстро лить в БД 1 млн. строк в секунду и настолько же быстро читать их. Как лучше осуществить?

    @rPman
    докину сверху, переделваю сейчас у себя организацию хранения данных логов сделок с криптовалютных бирж (к сожалению данные дырявые, много пропусков из-за ошибок в коде):
    * на дешевых впсках крутятся простенькие скрипты, складывающие в текстовые логи дампы событий (что возвращает websocket), файлы нарезаются по времени, пакуются gzip и забираются моим отдельным сервером (раньше он и хранил, жутко неудобно работать с разрозненными данными, плюс там json-ы с лишней информацией, не эффективно хранить, если что один бинанс может выдать в сутки 5-6 гигабайт gzip-ов)
    * будет крутиться отдельный бакэнд который будет переводить в общий формат хранения как я описал собранные данные
    * итоговые файлы хранятся на отдельном файловом сервере, btrfs, включенное сжатие
    * дальнейшей обработкой занимаются остальные машины, подключая по сети файловый сервер и забирая нужные файлы.

    сюда бы еще дублирование серверов сбора данных (дешевые впски не надежны, а надежные дороги), анализ и объединение собранных логов, мониторинг проблем (место кончилось, интернет отвалился, сдохли сервера сбора данных) и т.п.
  • Как хранить и управлять большим количеством скриптов под разные задачи?

    @rPman
    какие?
    документация внутри скрипта,хочешь потом генерировать доку, храни в машиночитаемом формате в комментариях
  • Очень быстро лить в БД 1 млн. строк в секунду и настолько же быстро читать их. Как лучше осуществить?

    @rPman
    Я вроде расписал более чем понятно

    У тебя должен быть бакэнд, который принимает(читает) данные quik, исторические данные (старее некого интервала, например час) складирует сериализованными массивами в файлы с именем и каталогом, содержащими информацию о бирже, валютной паре и времени (начало интервала, а точнее abs(t/interval)*interval - эта формула из любого времени выдаст файл, в котором даные о событии), а данные по текущему интервалу хранит в оперативной памяти.

    Твои insert и update храни как есть в логе, а в файлы сериализуй уже в своем формате, два типа событий trade (time,price,amount,type) и update (time,price,amount,side) либо (time,{bids:[[price,amount],..],asks:[[price,amount],..]}) amount +- означает увеличение или уменьшение объема по цене, 0 означает удаление, смотри сам, второй вариант компактнее

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

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

    p.s. через какое то время ты придешь к тому что большую часть агрегации (пример - вычисление candlestick, вычисление индикаторов и т.п.) у тебя будет делать тоже бакэнд, ибо зачем гонять голову потока данных туда сюда

    upd. еще советую собирать стакан (текущий список bids/asks) на указанный момент времени на бакэнде, храня собранный на начало периода или периодически, довычисляя его из лога update, это понадобится для тестирования стратегий, использующих стакан для анализа или хорошей визуализации ситуации с ликвидностью (тепловые карты рисовать).

    p.p.s. базы данных делают все то же самое (пишут transaction log, можно организовать master-slave репликацию для надежности и т.п.), но потребуют на это на порядок больше ресурсов, особенно если у тебя сотни и тысячи событий в секунду
  • Ошибка при компиляции php в kphp с foreach?

    @rPman
    Michael La,
    Нет, та же ошибка
    ты точно поставил { после скобки foreach и заменил endforeach на } ?
    какая именно ошибка то теперь стала?
  • FPS упал в два раза в Windows 10 (по сравнению с Win7), в чем проблема?

    @rPman
    отлично, причина найдена, осталось перебрать версии драйверов

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

    p.s. точно обновления отключены? первые сутки другие после установки (слабая машина может неделями) windows качает и устанавливает драйвера, сильно нагружая машину, и хотя они обещают что мешать это не должно, какраз в таких вот легких притормаживаниях это и обнаруживается
  • Почему youtube-dl медленно качает видео?

    @rPman
    в браузере с youtube на том же видео проблем не наблюдается?
    может хостер виноват (россия, башенный принтер, неадекваты тянут руки к интернету и все ломают)?
  • Что делать если компьютер не видит второй монитор?

    @rPman
    смотри в биосе, там настройка есть, на разных минимальные значения отличаются, к примеру от 128мбайт до гигабайта, так же включение встроенной в процессор видеокарты незначительно может понизить скорость процессора, плюс повышение нагрузки и выше вероятность тротлинг, если охлаждение дешевое

    upd. дискретные видеокарты редко поставляются только с одним портом вывода, смотри, если рядом есть dvi, то пассивным дешевым переходником, который кстати поставляется с картой (или просто кабель с соответствующими выводами) можно подключить hdmi и это ничего не будет стоить по ресурсам машины.
  • FPS упал в два раза в Windows 10 (по сравнению с Win7), в чем проблема?

    @rPman
    начни с синтетических тестов, позапускай всякие бенчмарки как на win7 так и на win10, тестируй все память диск видео... занеси данные в табличку, подумаем

    очень очень маловероятно что сеть как то заденет производительность видео, они на столько далеко друг от друга находятся
  • Двухканальная память 2 по 8 или один канал 8 + 16?

    @rPman
    accountnujen, я бы взял 16 планку чтобы было 24гб, так как dual channel дает очень мало профита
  • FPS упал в два раза в Windows 10 (по сравнению с Win7), в чем проблема?

    @rPman
    Cyberpunk 2077 шел нормально без критичных просадок FPS, но пришли обновы на win10 и тормоза вместе с этим

    получается что то именно в win10 портит картину а не настройки и драйвера

    отключала defender?
  • Откуда появляются отрицательные значения индекса первичного ключа PostgreSQL?

    @rPman
    получается баг в entity framework, ковыряй исходники в отладчике (поставь прямо в брекпоинте условие на отрицательное значение) что ли, благо они открыты
  • Откуда появляются отрицательные значения индекса первичного ключа PostgreSQL?

    @rPman
    а можешь посмотреть, какой sql запрос при этом был? а то может EF решило сумничать и само полезло в сиквенс и где то напортачили с кодом, правда не представляю как
  • Двухканальная память 2 по 8 или один канал 8 + 16?

    @rPman
    А hint000 говорит, что твоё сообщение хрень и планка на 16 тоже будет работать в двух каналах

    https://www.intel.ru/content/www/ru/ru/support/art...
    Правила включения двухканального режима
    Для включения двухканального режима необходимо выполнить следующие условия:

    Одинаковая емкость памяти. Примеры: 1 ГБ, 2 ГБ, 4 ГБ.
    Одинаковая конфигурация модулей DIMM на каждом канале.
    В симметричных разъемах памяти.
    т.е. возможно заработает на часть памяти если конфиг будет 2+2 + 4 + 2 но в твоем случае нет.

    Эта опция называется Flex и я ее просто не видел в дешевых материнках.
  • Двухканальная память 2 по 8 или один канал 8 + 16?

    @rPman
    accountnujen, мне такие материнки не известны, но даже если и так, мое утверждение все равно в силе, тебе будет абсолютно пофиг, включен этот режим или нет
  • Как локально обойти VPN?

    @rPman
    Сам я так глубоко не лез, просто общее представление о возможностях имею, так что лучше сам гугли, мануалы есть.

    Знаю что на их основе сделан lxc так что если надо по быстрому, то лучше им и пользуйся, это по факту виртуалка без виртуализации (chroot на стероидах), разворачиваешь минимальный образ (тем же debootstrap) настраиваешь там сеть и все как я описал
  • Как получить видео поток для обработки с видеофвйла?

    @rPman
    Евгений Лернер, неужели нравится быть зависимым от других даже в таких мелочах?
    люди здесь отвечают без гарантии, сегодня ответят а завтра ты на простой вопрос сутки ждать будешь?
  • Как получить видео поток для обработки с видеофвйла?

    @rPman
    Неужели так сложно загуглить? я уже молчу что у ffmpeg отличная документация

    сделай ключи -acodec pcm_s16le -ar 44100 -ac 2 и выходной файл будет перекодирован в wav файл 44kHz, 16бит семплы, 2 канала (стерео)