RU

Почему O(1) проигрывает O(n): структуры данных в Go на реальном железе

Объясню структуры данных через очередь в поликлинике, а потом покажу, где эта аналогия ломается: почему связный список с «вставкой за O(1)» в прикла…

goструктуры данныхсвязный списокhash mapкеш процессоракеш-линиялокальность данныхbig oбенчмаркswiss tables
Habr
RU

Добавили потоков, стало медленнее: разбираемся с ложным разделением кеш‑линии

Добавили потоков, а программа стала медленнее? Причина может скрываться в ложном разделении кеш‑линий: потоки работают с разными пере…

ложное разделение кеш-линииfalse sharingмногопоточностькеш процессоракеш-линиякогерентность кешапроизводительностьperfNUMAвыравнивание памяти