aboutsummaryrefslogtreecommitdiffstats
path: root/docs/research/109-finding-items.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/research/109-finding-items.md')
-rw-r--r--docs/research/109-finding-items.md4
1 files changed, 3 insertions, 1 deletions
diff --git a/docs/research/109-finding-items.md b/docs/research/109-finding-items.md
index ffa3c25..3557650 100644
--- a/docs/research/109-finding-items.md
+++ b/docs/research/109-finding-items.md
@@ -37,7 +37,8 @@ W=1의 재고는 항목 10만 개, 수 필드 다섯이다. 잎만 4 MB라서 �
- **넣지 않았다.** 미리 가져오기는 마이크로벤치에서 찾고 읽기를 10만 항목에서 20% 빠르게 했다. 그러나 TPC-C에서는 깨끗한
쌍 셋이 +2.1%, +1.5%, −0.6%였고, 거래당 CPU가 준 것은 여섯 쌍 가운데 둘이었다. 기준(다섯 쌍, +3%)에 한참 못 미친다.
- 게다가 찾기만 하는 경우(`has`)를 48% 느리게 한다. 쓰지 않을 줄을 가져오느라 메모리의 줄을 차지하기 때문이다.
+ 게다가 찾기만 하는 경우(`has`)를 48% 느리게 한다. 쓰지 않을 줄을 가져오느라 메모리의 요청 자리를 차지하는 것으로
+ 보인다(재지는 않았다).
- **가설이 틀렸다.** 필드를 열로 나눠 들어 한 항목의 필드가 여러 캐시 줄에 흩어지니 그것이 비싸리라 봤다. 마이크로벤치에서는
맞았다(10만 항목에서 필드 셋을 읽는 데 208 ns, 찾기의 두 배 가까이). 그러나 TPC-C의 소유자 표본에서 "찾기" 20개 가운데
18개는 `pure_list_seek` 안, 곧 트리를 내려가는 걸음이었고, 필드 읽기는 2개였다.
@@ -79,6 +80,7 @@ W=1의 재고는 항목 10만 개, 수 필드 다섯이다. 잎만 4 MB라서 �
## 판정
- 기준 셋 가운데 둘(TPC-C, 그리고 40만 항목의 마이크로벤치)을 채우지 못했다. 넣지 않는다. 코드는 바뀌지 않았다.
+- 은행 질의(훑기)는 재지 않았다. 앞의 두 기준에서 이미 넣지 않기로 정해졌기 때문이다.
## 다음