list 대신
arr[ alloc_block_size + 2 ] 해서
arr[0] 안에 prev block을 넣으려고 하고
arr[alloc_block_size+1]를 next block에 대한 포인터를 넣으려고 하거든? 강제로
그래서 reinterpret_cast를 이용해서 강제로 넣으려고 하는데 이에 대한 속도는 어때?
arr[ alloc_block_size + 2 ] 해서
arr[0] 안에 prev block을 넣으려고 하고
arr[alloc_block_size+1]를 next block에 대한 포인터를 넣으려고 하거든? 강제로
그래서 reinterpret_cast를 이용해서 강제로 넣으려고 하는데 이에 대한 속도는 어때?
속도는 둘째치고 일단 동작을 보장할 수 없을텐데
보장 가능함 메모리 풀 내부에서만 쓰는 거라서
이런 거 퍼포먼스 딱 모아놓은 사이트는 없나 쩝
테스트는 이미 해봤음
근데 저렇게 한다고 해서 list를 쓰는거랑 무슨 차이가 생겨? 어차피 포인터 따라서 돌아가는 링크드 리스트가 되는거 아님?
캐스팅 속도는 일단 컴파일 타임 연산이니까 reinterpret로 인한 속도 문제는 없을 것 같은데
글쿤 dynamic_cast 말고는 전부 컴파일타임 연산인가
링크드 리스트가 되는 게 맞음 stl list는 내가 필요한 거에 비해 군더더기가 너무 많아서 node클래스를 따로 만들어도 되긴 하지만
음? std::list 에 군더더기라고 할만한게 없이 거의 그냥 일반적인 더블링크드리스트일텐데.. 어차피 멤버 함수들이야 객체마다 메모리 할당을필요로 하는것도 아니고 템플릿이니까 사용하지 않으면 아예 컴파일도 안될테고..