std::sort 의 calling convention 을 지켜줘야 된다.
즉, 너는 template 인자로 정렬할 데이타의 크기를 넘기고 있는데,
실제 프로그래밍에서는 정렬할 크기가 변수로 넘어오는 경우가 많기 때문에,
컴파일 타임 최적화에 크기 정보를 활용할 수 없어야 중립적이고,
std::sort 및 다른 친구들과 동등한 성능비교가 되기 위해 수정해 줘야 된다.
안그러면 비교가 안되잖아. 그렇지?
std::sort 의 calling convention 을 지켜줘야 된다.
즉, 너는 template 인자로 정렬할 데이타의 크기를 넘기고 있는데,
실제 프로그래밍에서는 정렬할 크기가 변수로 넘어오는 경우가 많기 때문에,
컴파일 타임 최적화에 크기 정보를 활용할 수 없어야 중립적이고,
std::sort 및 다른 친구들과 동등한 성능비교가 되기 위해 수정해 줘야 된다.
안그러면 비교가 안되잖아. 그렇지?
이상 내가 씀.
SOURCE랑 SIZE Boss::run 에서도 사용하시길래
저도 사용해도 되나보다 하고 사용했는데 decltype 이랑 size는 run에서 구해줘야 하나요?
흠 array로 캐스팅을 하길래
길이에 대한 정보를 써도 되는줄
근데 진입시점에서 한번 비교니까 거의 차이가 없다 봐도 무방하겠죠?
크기에 대해 상수 최적화 될 여지만 없으면 됩니다.
그러네 내가 예제를 오해하기 좋게 올려두었군.
저는 길이에 대한 정보는 이터레이션 횟수밖에 없고 심지어 내부에서 쓰는 추가적인 배열도 걍 동적할당을 쓰고있어서 실제적으론 디스패칭에 대한 비용밖에 차이가 안나겠네요 코드는 금방 바꿀 수 있는데 저는 컴파일 정보만 수정하면 바로 테스트할 수 있게 코드를 신경써봤는데 약간은 삽푼 ㅋㅋ
그래도 착각한덕에 C++의 딥-다크한 면을 체험해볼 수 있었던;