Skip to content

Instantly share code, notes, and snippets.

View MBkkt's full-sized avatar

Valery Mironov MBkkt

View GitHub Profile
@MBkkt
MBkkt / aggregator.cpp
Last active May 7, 2023 09:08
Aggregator -- pseudo code
enum class AggregatorType : uint64_t {
kAny = 0, // At least few functions needed, so runtime detection
// This is single operation case.
// Now only single exception: average(kCount + kSum).
// It is assumed that if we need one function, we instantiate it, if several then kAny.
// But if for some reason we decide to optimize a specific case (for example Min + Max) this is also possible!
kCount = 1 << 0,
kMin = 1 << 1,
kMax = 1 << 2,
kSum = 1 << 3,
bool await_ready();
... await_suspend(handle);
V await_resume();
Channel<V, 1> ch;
ch.~Channel() -- while (...) {}
V value = co_await ch.Recv();
@MBkkt
MBkkt / test.cpp
Last active April 17, 2022 18:57
#include <exe/tp/thread_pool.hpp>
#include <exe/fibers/core/api.hpp>
#include <exe/fibers/sync/mutex.hpp>
#include <exe/fibers/sync/wait_group.hpp>
#include <wheels/support/stop_watch.hpp>
#include <iostream>
#include <chrono>
using namespace exe;
@MBkkt
MBkkt / govno.md
Last active April 17, 2022 13:06
Mutex {
 awaiter Lock();
 Guard<awaiter> -> unique_lock<awaiter> Gaurd();
 
}

auto guard = co_await mtx.Guard(); -> mtx.Unlock();
void = co_await mtx.Lock();
void = co_await mtx/guard.Unlock(IExecutor& e = CurrentThreadPool());

Without undefined sanitizer

Version

g++: 11.2.0
libstdc++: 20210728

CMake options

@MBkkt
MBkkt / allocator_course.md
Last active May 27, 2022 20:14
Allocator course

Allocator course

Нюансы

Курс будет с акцентом на Linux. Да мы возможно обсудим некоторые нюансы macOS/Windows, и вероятно часть задач можно будет сдать под ними.

Но в целом стоит понимать, что поддержка не Linux-а как платформы будет минимальна.

Можно воспользоваться WSL, также будет поддержка docker образа и сдачи домашек в нем.

@MBkkt
MBkkt / passed_courses.md
Last active February 3, 2024 11:25
Passed courses

YSDA courses

Computer architecture and operating systems, autumn 2019 - R. A. Savchenko

Theory and Practice of Concurrency, spring 2020 - R. G. Lipovsky

Databases (development), spring 2020 - R. A. Savchenko, O. Khvostikova

Distributed systems, autumn 2020

@MBkkt
MBkkt / report.md
Last active April 11, 2021 18:38
Отчет по практике SSO string for rust

Отчет по проекту SsoCowString

Руководитель: Алексей Кладов

Описание задачи

Презентации из описания проекта

Написать библиотеку строки для языка Rust, интерфейс которой аналогичен std::string.

@MBkkt
MBkkt / skia_line_segment.md
Last active January 26, 2021 00:47
Немного про skia

Первое что стоит понимать, у Skia апи, которое соотвествует скорее софтварной растеризации, а бекенд под OpenGL, Vulkan, etc появился позже. Хотя возможно правильнее называть это path renderer. Поэтому если вам не нужны например кривые безье, то кажется можно меньшеми усилиями и возможно с лучшим первом добиться аналогичного результа.

Нас интересует метод drawPath, а именно как рисуется Round/Miter/Bevel соединения ребер. Они создают треугольники в тесселяционном шейдере: Из явных плюсов создания треугольников на лету, меньшее потребление памяти, загруженность шины, из минусов, большее количество вычислений, загрузка гпу.

@MBkkt
MBkkt / computer_graphics_guide.md
Created September 5, 2020 04:43
Гайд по компьютерной графике и не только

Гайд по компьютерной графике и не только

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

В целом большинство материала, кроме книг, на русском, потому что на нем я лучше понимаю ¯\_(ツ)_/¯

А ну и стоит учитывать, что большинство видео я смотрю на х2, поэтому если у вас это не так, то вам может что-то не понравится

Бэкграунд

Математика