Как я понял autotools для конструирования configure.ac дает некие хелперы типа AC_SEARCH_LIBS. Но большую часть кода надо будет написать вручную. В результате оно работает у разработчика, но часто просто море мелких багов. Например из того что встречал - конфигур корректно находит либу через pkgconfig, но потом начинает тестировать фичи и делает просто -lлиба $LIBS, корректно подставить LIBS из pkgconfig забывают, да и самостоятельно писать -lлиба тут некорректно, надо было pkg-config либа --libs. В результате проверки провалились, но либа подцепилась, имеем молча недоработающее приложение. Meson же дает возможность не писать больше ручного кода -> меньше ошибок в разных конфигурациях.
Про select дополню что на винде он тоже не рекомендуется, если дескрипторов может быть много (хотя их и можно расширить на этапе компиляции). Помимо completion ports есть специальные WSAEnumNetworkEvents для этого.
На VNC у меня тоже не получалось. А xrdp\freerdp пробовали? У меня с ними даже лучше чем с последними десятками. По ссылке выше вроде тоже они используются.
Да, я вкурсе про mempy пешение. Но у меня на msvc 19 memcpy с /Ob2 не заменился. Добавление /Oi сделало лучше, memcpy превратилось в несколько инструкций, но не zero-cost.
Из lossless есть еще https://github.com/phoboslab/qoi А у png есть несколько реализаций, например fpng и rdopng, они по скорость\качество тоже будут отличаться.
Ну сами оптимизации у всех компилеров выглядят абсолютно идентично. Он опустил запись в память увидев что q больше нигде не используется, сразу в регистры записал чиселки для printf, вот только сами эти чиселки из недр оптимизатора получились разные для gcc и остальных.
-fsanitize=undefined мог бы отлавливать обращение к p потипу как -fsanitize=address (в этом случае кстати p и q становятся разными). Но увы, не настолько продвинутый.
А что за оптимизация? По ссылке я понял что дело в
The behavior is undefined in the following circumstances:
-The value of a pointer that refers storage allocated by a call to the free or realloc function is used (7.22.3 ).
То есть возможно просто отработал более очевидно для человека, а оптимизации не причем.
Еще забавно что -fsanitize=undefined этот случай не ловит.
В современных процах сколько тактов отработал заданный кусочек это сложный вопрос из-за очень длинного конвеера. Конвеер можно сбросить через cpuid и померить этот чисто кусочек, но прога в целом может очень сильно замедлится.
Погодите, 150к loc это примерно 6мб? Это довольно немного. Для сравнения Qt - 1.2 гб
Есть кросс-платформенные аналоги WinMerge: KDiff3 и Meld.
А не думаете с многопроцессной системы на мультитредную перейти? Какие сдерживающие факторы?
Как я понял autotools для конструирования
configure.ac
дает некие хелперы типа AC_SEARCH_LIBS. Но большую часть кода надо будет написать вручную. В результате оно работает у разработчика, но часто просто море мелких багов. Например из того что встречал - конфигур корректно находит либу через pkgconfig, но потом начинает тестировать фичи и делает просто -lлиба $LIBS, корректно подставить LIBS из pkgconfig забывают, да и самостоятельно писать -lлиба тут некорректно, надо было pkg-config либа --libs.В результате проверки провалились, но либа подцепилась, имеем молча недоработающее приложение. Meson же дает возможность не писать больше ручного кода -> меньше ошибок в разных конфигурациях.
Про select дополню что на винде он тоже не рекомендуется, если дескрипторов может быть много (хотя их и можно расширить на этапе компиляции). Помимо completion ports есть специальные WSAEnumNetworkEvents для этого.
На VNC у меня тоже не получалось. А xrdp\freerdp пробовали? У меня с ними даже лучше чем с последними десятками. По ссылке выше вроде тоже они используются.
Да, я вкурсе про mempy пешение. Но у меня на msvc 19 memcpy с /Ob2 не заменился. Добавление /Oi сделало лучше, memcpy превратилось в несколько инструкций, но не zero-cost.
А у этой проблемы с union на С++ есть стандартное zero-cost решение?
Из lossless есть еще https://github.com/phoboslab/qoi
А у png есть несколько реализаций, например fpng и rdopng, они по скорость\качество тоже будут отличаться.
Не уверен, но возможно документировано это делает timeBeginPeriod(1).
А доступны ли у Тинькова не только котировки по акциям, но и фундаментальные даные типа p\e по апи?
Спасибо) Я правильно понял?:
Можно без самозанятого. Налог платится раз в год, а не раз в мес как выше про самозанятого.
Самое главное это заключить трудовой договор на 2х языках, чтобы было что прикладывать для налоговой. Можете скинуть типовой?
Есть ли какие-то лимиты у такого способа? Какие примерно суммы были?
А можете рассказать поподробнее как это сделать? Проходили ли валютный контроль, что в декларации писали итп.
Ну сами оптимизации у всех компилеров выглядят абсолютно идентично. Он опустил запись в память увидев что q больше нигде не используется, сразу в регистры записал чиселки для printf, вот только сами эти чиселки из недр оптимизатора получились разные для gcc и остальных.
-fsanitize=undefined мог бы отлавливать обращение к p потипу как -fsanitize=address (в этом случае кстати p и q становятся разными). Но увы, не настолько продвинутый.
А что за оптимизация? По ссылке я понял что дело в
То есть возможно просто отработал более очевидно для человека, а оптимизации не причем.
Еще забавно что -fsanitize=undefined этот случай не ловит.
Забавно, а вот gcc справился https://godbolt.org/z/4aE5z6cce
Единственный из всех получаетя.
Еще yasm есть :)
Для Grim Dawn так же есть мод https://forums.crateentertainment.com/t/mod-reign-of-terror/35347
Который пытается воссоздать D2 на движке Grim Dawn.
В современных процах сколько тактов отработал заданный кусочек это сложный вопрос из-за очень длинного конвеера. Конвеер можно сбросить через cpuid и померить этот чисто кусочек, но прога в целом может очень сильно замедлится.
Похоже не может найти либу uchardet. Под убунтой пакет называется libuchardet-dev.
Под Oracle Linux наверно uchardet-devel.