https://github.com/samchon/tstl/issues/80
우연도 이런 우연이 또 있나싶다.
해시 버킷에서 reserve 는 원래 capacity 만 늘리는 함수인데
모르고 버킷에 저장된 아이템 개수까지 늘리는 기능 넣어놨고,
insert 는 capacity 가 모자랄 때 reserve 호출해야 하는데
모르고 rehash 호출하고 있던 것
덕분에 잘못 구현된 reserve 함수는 일절 호출될 일이 없었고,
본래 해시버킷이 아이템 개수당 버킷 1개씩 두는 게 기본이라 (load-factor = 1)
insert 에서 rehash 호출하는 데에도 딱히 문제가 없었던 것
어쨋든 이런 우연에 우연을 거듭한 끝에
TSTL 의 해시버킷에 버그 있는지 4 년째 모르고 있었다
ㄷㄷㄷ
개추요
QuickCheck 마렵네요
그럼 여태까지는 array doubling 형태로 rehash 하지 않았으니까 capacity 만큼 insert하고나서 이후에 insert 할 때마다 약간의 퍼포먼스 이슈만 있었겠네? 맞음?
근데 실제로 발생한적도 없었던거에 버그를 논하는게 의미가 있음?