Skip to content

Instantly share code, notes, and snippets.

@ashelk
ashelk / latency.markdown
Created July 18, 2025 11:10 — forked from hellerbarde/latency.markdown
Latency numbers every programmer should know

Latency numbers every programmer should know

L1 cache reference ......................... 0.5 ns
Branch mispredict ............................ 5 ns
L2 cache reference ........................... 7 ns
Mutex lock/unlock ........................... 25 ns
Main memory reference ...................... 100 ns             
Compress 1K bytes with Zippy ............. 3,000 ns  =   3 µs
Send 2K bytes over 1 Gbps network ....... 20,000 ns  =  20 µs
SSD random read ........................ 150,000 ns  = 150 µs

Read 1 MB sequentially from memory ..... 250,000 ns = 250 µs

@ashelk
ashelk / git-cheat-sheet.sh
Created August 19, 2023 10:01 — forked from gusenov/git-cheat-sheet.sh
Шпаргалка по Git.
#---------------------------------------------------------------------
# НАСТРОЙКИ
#---------------------------------------------------------------------
# Показать глобальную конфигурацию:
git config --global --list
git config --local user.name "user name"
git config --local user.email "user@email.com"
git config --local core.fileMode false
@ashelk
ashelk / haskell test
Created August 19, 2023 09:59 — forked from cyclotimia/haskell test
haskell Test
{--
Реализуйте функцию, задающую циклическое вращение списка.
rotate :: Int -> [a] -> [a]
rotate n xs = undefined
При положительном значении целочисленного аргумента вращение должно осуществляться влево, при отрицательном - вправо.
GHCi> rotate 2 "abcdefghik"
"cdefghikab"
GHCi> rotate (-2) "abcdefghik"
@ashelk
ashelk / MengerHypercube
Created August 19, 2023 09:58 — forked from cyclotimia/MengerHypercube
Prrof that k-hypercube is k-connected using Menger theorem
/*
Докажите, что k-мерный гиперкуб k-связен с помощью теоремы Менгера.
k-мерным гиперкубом называется граф, в котором вершины — битовые строки длины k,
а рёбра проведены между теми парами вершин, которые отличаются ровно в одном бите.
На вход подаётся две различные битовых строки A и B длины k<100 через пробел.
Выведите k простых путей в k-мерном гиперкубе из A в B, не пересекающихся по
внутренним вершинам.
Формат вывода: один путь на строку; путь – последовательности битовых строк, разделённая пробелами.