Кст, я один тот шиз который когда генерит uuid проверят, что он не совпадает с уже сгенеренными кем то раньше(ну речь про исходные коды), я понимаю что шанс не реален, но бля когда я думаю о такой баге мне становится очень страшно и я все равно проверяю
https://mirrors.edge.kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html
Мне казалось я кидал ссылку на эту книжку, но оказалось что нет, держите. Очень интересная и вообще рекомендую
Мне казалось я кидал ссылку на эту книжку, но оказалось что нет, держите. Очень интересная и вообще рекомендую
Накидайте в коменты или лс каких-нибудь интересных каналов/подкастов про плюсы, графику, распределенные системы, многопоточку, операционные системы, про компиляторы тоже можно, но они все ещё говно. Если в итоге что-то из того что я читаю не скинут я тоже скину ы
Как именно вы бы обработали то, что список может измениться?
Ну кажется тупое решение очевидно, скопировать список перед нотификациями, но это кажется дорогим.
Из того, что мне пришло в голову это помимо списка наблюдателей, завести список действий добавить/удалить/етс наблюдателя и выполнять его в начале метода notify
На работе у нас используется первый подход, с некоторыми оптимизациями, например наблюдатели копируются в small_vector, если их немного он не полезет в кучу и сохранит их на стеке.
Ну кажется тупое решение очевидно, скопировать список перед нотификациями, но это кажется дорогим.
Из того, что мне пришло в голову это помимо списка наблюдателей, завести список действий добавить/удалить/етс наблюдателя и выполнять его в начале метода notify
На работе у нас используется первый подход, с некоторыми оптимизациями, например наблюдатели копируются в small_vector, если их немного он не полезет в кучу и сохранит их на стеке.
https://gist.github.com/zeux/3ce4fcc3a43072b4315abde95319ecb6
Прикольные замеры, хотя я и полностью солидарен с тем что какой-нибудь хромиум куда интереснее.
Кст библиотека meshoptimizer тоже выглядит интересной, но пока не разбирался подробно
Прикольные замеры, хотя я и полностью солидарен с тем что какой-нибудь хромиум куда интереснее.
Кст библиотека meshoptimizer тоже выглядит интересной, но пока не разбирался подробно
Gist
How does clang 2.7 hold up in 2021?
How does clang 2.7 hold up in 2021? GitHub Gist: instantly share code, notes, and snippets.
Прикольный пост про преподавание проги https://vas3k.club/post/938, я не препод, но был студентом на многих курсах, и как студент согласен практически со всем
https://www.ralfj.de/blog/2020/12/14/provenance.html интересный пост про баг в оптимизации ир, ну и собственно что с этим можно сделать. Ну а возникает из-за того что компилятор учитывает то что указатели это не просто числа
www.ralfj.de
Pointers Are Complicated II, or: We need better language specs
Some time ago, I wrote a blog post about how there’s more to a pointer than meets the eye. One key point I was trying to make is that just because two pointers point to the same address...
https://stackoverflow.com/questions/11761703/overloading-macro-on-number-of-arguments прикольно придумано
Stack Overflow
Overloading Macro on Number of Arguments
I have two macros FOO2 and FOO3:
#define FOO2(x,y) ...
#define FOO3(x,y,z) ...
I want to define a new macro FOO as follows:
#define FOO(x,y) FOO2(x,y)
#define FOO(x,y,z) FOO3(x,y,z)
But this do...
#define FOO2(x,y) ...
#define FOO3(x,y,z) ...
I want to define a new macro FOO as follows:
#define FOO(x,y) FOO2(x,y)
#define FOO(x,y,z) FOO3(x,y,z)
But this do...
Loser story
10.1.1.59.3971.pdf
Наткнулся на любопытный вариант имеющий смысл для линий толщина которых зависит от масштаба: https://www.imaginationtech.com/blog/grlaa-for-anti-aliasing-in-nav-applications
Вообще вопрос известный, например есть глава в гемсах древних на тему:
https://developer.nvidia.com/gpugems/gpugems2/part-iii-high-quality-rendering/chapter-22-fast-prefiltered-lines
Хотя сейчас не советую рисовать линии как gl_lines так как нельзя за один вызов отрисовать линии разной толщины и главное LineWidth гарантированно поддерживает только 1, ну в большинстве случаев 1 <= x <= 10, но даже так с не целыми будет убого.
Собственно я чего старые ссылки начал смотреть, сегодня про это вспоминал и вот решил убедится что не наврал нигде.
Вообще меня привлекает идея рисовать gl_lines, а потом в геометрическом шейдере превращать их в триангл стрипы, но я не попробовал так, с не которым шансом это довольно убого будет, в skia path renderer несколько похожий подход, правда они тессилируют (писал про это выше немного) путь в набор треугольников, ну там сложнее потому что рассчитано и на кривые безье например плюс у них довольно высокие требования по гладкости получаемых линий (по крайне мере в пейперах, ну и выглядит красиво)
Вообще вопрос известный, например есть глава в гемсах древних на тему:
https://developer.nvidia.com/gpugems/gpugems2/part-iii-high-quality-rendering/chapter-22-fast-prefiltered-lines
Хотя сейчас не советую рисовать линии как gl_lines так как нельзя за один вызов отрисовать линии разной толщины и главное LineWidth гарантированно поддерживает только 1, ну в большинстве случаев 1 <= x <= 10, но даже так с не целыми будет убого.
Собственно я чего старые ссылки начал смотреть, сегодня про это вспоминал и вот решил убедится что не наврал нигде.
Вообще меня привлекает идея рисовать gl_lines, а потом в геометрическом шейдере превращать их в триангл стрипы, но я не попробовал так, с не которым шансом это довольно убого будет, в skia path renderer несколько похожий подход, правда они тессилируют (писал про это выше немного) путь в набор треугольников, ну там сложнее потому что рассчитано и на кривые безье например плюс у них довольно высокие требования по гладкости получаемых линий (по крайне мере в пейперах, ну и выглядит красиво)
Imaginationtech
Introducing GRLAA: a new technique for anti-aliasing in navigation applications - Imagination
This post introduces GRLAA (GRadient Line Anti-Aliasing), a simple and efficient method designed to cope with aliased lines in automotive navigation apps.
https://www.tgoop.com/korovany/911 тут про пиратство, но мне вот другое любопытно, как вы относитесь к пиратству книжек?
Поясню, в целом мне кажется я бы вполне мог покупать те книги, которые прочитал целиком. Но слишком сложно заставить себя тратить деньги, когда я с таким же удобством могу скачать pdf бесплатно.
Например я покупаю игры в стиме не потому что я какой-то очень порядочный, а скорее потому что мне удобно иметь библиотеку в одном месте, легко запускать и устанавливать, нет необходимости как правило лазать по раздачам, есть скидки, ну и приятно что купил, а не спиратил, с книгами же только один пункт, ещё и стоят обычно дофига(
И в целом я к чему веду, почему для книг не придумали чего-то что дало мне больше чем просто нужная пдфка? Или придумали но я не в курсе?
Вообще речь шла скорее про техническую литературу, но отчасти можно наверно и не только про нее так написать, просто ее я почти не читаю
Поясню, в целом мне кажется я бы вполне мог покупать те книги, которые прочитал целиком. Но слишком сложно заставить себя тратить деньги, когда я с таким же удобством могу скачать pdf бесплатно.
Например я покупаю игры в стиме не потому что я какой-то очень порядочный, а скорее потому что мне удобно иметь библиотеку в одном месте, легко запускать и устанавливать, нет необходимости как правило лазать по раздачам, есть скидки, ну и приятно что купил, а не спиратил, с книгами же только один пункт, ещё и стоят обычно дофига(
И в целом я к чему веду, почему для книг не придумали чего-то что дало мне больше чем просто нужная пдфка? Или придумали но я не в курсе?
Вообще речь шла скорее про техническую литературу, но отчасти можно наверно и не только про нее так написать, просто ее я почти не читаю
Telegram
Геймдев, который мы заслужили
Интернет вчера обнаружил, что у многих игровых журналистов вместо мозгов появляется песок, когда дело заходит об обсуждении пиратства. Особо отличился Зуев, но умных мыслей за десять лет от этого человека можно пересчитать по пальцам. Интересно еще и то,…
https://www.tgoop.com/compscicenter_ru/186
Ну в общем рекомендую, тем кто в питере/новосибе, если надо могу что-то рассказать про учебу етс
Ну в общем рекомендую, тем кто в питере/новосибе, если надо могу что-то рассказать про учебу етс
Telegram
Computer Science Center
Приходите учиться в Computer Science Center.
Мы предлагаем вечерние курсы по математике и программированию. Занятия проходят в Санкт-Петербурге и в Новосибирске. Жители других городов могут поступить на обучение в удалённом формате.
Чтобы поступить
— заполните…
Мы предлагаем вечерние курсы по математике и программированию. Занятия проходят в Санкт-Петербурге и в Новосибирске. Жители других городов могут поступить на обучение в удалённом формате.
Чтобы поступить
— заполните…
В общем я тут побывал на собесах, что спрашивали: много всего про плюсы, найти среднее на slice window, бинпоиск, про вертикальную ось симметрии на Z^2, была задача на дизайн сервиса для подсказок пользователю текста на основе уже введённой строки и баунд бокса экрана и возможно позиции пользователя, ещё было на дизайн сервиса для ci, который запускает бенчмарки на девайсах и выдает статистику.
В собесе про рендер в основном говорили про то что делал я, да и в целом кажется довольно много рассказывал про то что делал.
В общем ничего страшного зря повторял математику и нетривиальные алгоритмы.
Получил оффер от мейла, нужно будет писать рендер тайловых карт, в общем попозже напишу немного и про это и про свою работу wartsila
В собесе про рендер в основном говорили про то что делал я, да и в целом кажется довольно много рассказывал про то что делал.
В общем ничего страшного зря повторял математику и нетривиальные алгоритмы.
Получил оффер от мейла, нужно будет писать рендер тайловых карт, в общем попозже напишу немного и про это и про свою работу wartsila
https://github.com/alex/what-happens-when в одном месте кинули ссылку, я ожидал что будет любопытно, но мне не понравилось. https://github.com/vasanthk/how-web-works а вот это прочитать было интереснее, хоть и видно что это частично копипаста
Loser story
В общем я тут побывал на собесах, что спрашивали: много всего про плюсы, найти среднее на slice window, бинпоиск, про вертикальную ось симметрии на Z^2, была задача на дизайн сервиса для подсказок пользователю текста на основе уже введённой строки и баунд…
В общем пишу про работу тут, в целом почти все над чем я работал, особенно после стажки было очень интересным, например почти весь последний год писал новый рендер картографии, где-то даже успели на него перейти уже, а с декабря делал (уже не один правда) рендер погоды. Немного обидно что у нас не опенсурс, я бы хотел посмотреть что там дальше будет.
В целом было классно, пожалуй главные минусы лично для меня это зарплата, ну и немного раздражало отсутствие экспертизы, и при этом завышенное чсв у некоторых коллег, но наверное неприятные коллеги могут быть везде, в основном все нормальные были.
В мейле буду писать с нуля рендер тайловых карт (open street map формат, опенсурс аналоги mapbox gl native, omim), правда тут уже на vulkan и metal. Кажется я первый чел которого они набрали в команду рендера, так что мб если знаете кого-то кому интересно, говорили будут ещё набирать. Немного стремно прям совсем с нуля проект, на старой работе было хотя бы все вокруг рендера, но думаю все получится, да и в целом очень интересный опыт.
В целом было классно, пожалуй главные минусы лично для меня это зарплата, ну и немного раздражало отсутствие экспертизы, и при этом завышенное чсв у некоторых коллег, но наверное неприятные коллеги могут быть везде, в основном все нормальные были.
В мейле буду писать с нуля рендер тайловых карт (open street map формат, опенсурс аналоги mapbox gl native, omim), правда тут уже на vulkan и metal. Кажется я первый чел которого они набрали в команду рендера, так что мб если знаете кого-то кому интересно, говорили будут ещё набирать. Немного стремно прям совсем с нуля проект, на старой работе было хотя бы все вокруг рендера, но думаю все получится, да и в целом очень интересный опыт.
Loser story
Вы никогда не задумывались над такой штукой: часто бывает в плюсах, что некоторые объекты создаются только как указатель в куче, и иногда такие объекты содержат массив фиксированного, но к сожалению известного только в рантайме размера, в таком кейсе вообще…
В общем история имеет продолжение, в llvm существует класс реализующий такой паттерн:
https://llvm.org/doxygen/TrailingObjects_8h.html
Сама идея тривиальна, давайте вместо аллокации под структуру с указателями и отдельными аллокациями на каждый массив сделаем одну большую аллокацию под все массивы + структуру.
Получим 1 аллокацию вместо н + 1, плюс уменьшаем уровень косвенности для доступа к массивам. В llvm написали обертку за которой скрыли вычисления размера аллокации и соответственно адреса по которым валидно обращаться, с учётом выравнивания.
В си для одного массива такое сделать попроще, называется flexible array member.
Лично я к сожалению костылил для одного конкретного кейса такое и не делал общего паттерна, круто если кто-то знает/сделает хорошую опенсурс мит реализацию, мне кажется довольно популярный и красивый кейс.
https://llvm.org/doxygen/TrailingObjects_8h.html
Сама идея тривиальна, давайте вместо аллокации под структуру с указателями и отдельными аллокациями на каждый массив сделаем одну большую аллокацию под все массивы + структуру.
Получим 1 аллокацию вместо н + 1, плюс уменьшаем уровень косвенности для доступа к массивам. В llvm написали обертку за которой скрыли вычисления размера аллокации и соответственно адреса по которым валидно обращаться, с учётом выравнивания.
В си для одного массива такое сделать попроще, называется flexible array member.
Лично я к сожалению костылил для одного конкретного кейса такое и не делал общего паттерна, круто если кто-то знает/сделает хорошую опенсурс мит реализацию, мне кажется довольно популярный и красивый кейс.
Блин все эти переименования чатов, жесть, я чуть не вышел с парочки на автомате