24 lines
1.0 KiB
Markdown
24 lines
1.0 KiB
Markdown
|
---
|
|||
|
aliases:
|
|||
|
- барьеры на запись
|
|||
|
- барьер на чтение
|
|||
|
- барьеры на чтение
|
|||
|
tags:
|
|||
|
- зрелость/🌱
|
|||
|
date: "[[2023-11-08]]"
|
|||
|
zero-link:
|
|||
|
parents:
|
|||
|
linked:
|
|||
|
---
|
|||
|
## Барьер на запись
|
|||
|
Барьер на запись это код, исполняемый при изменении значения поля объекта с указателем. Генерируется JIT-компилятором, исполняется интерпретатором.
|
|||
|
|
|||
|
Пример для обновления card_table:
|
|||
|
![](Pasted%20image%2020231108074333.png)
|
|||
|
|
|||
|
## Барьер на чтение
|
|||
|
Каждое чтение обязано пройти через этот барьер.
|
|||
|
|
|||
|
![](Pasted%20image%2020231112090742.png)
|
|||
|
- Барьеры на чтение дешевые, но их очень много
|
|||
|
- Накладные расходы сильно зависят от возможностей оптимизатора по удалению и поклейке барьеров.
|