그런데 이 코드의 양이 증가하는 것이 유의미할 정도로 프로그램 파일의 용량의 증가를 보인다던가 하는 경우가 있음?
난 그렇게 클 것같지 않은데...
? - dc App
오히려 코드가 줄어드는거 아닌가요 - dc App
템플릿이 하는 일 : 사용자가 쓴 코드를 여러벌로 확장 -> 코드 크기 증가하며 특히 정신 안차리면 불필요한 부분이 중복되버림
나사 우주선에 날리는 코드는 용량 하나라도 줄일려고 한줄한줄 아껴쓴다던데 사실 그런 극한적인 환경빼고는 잘 모루겠소요.. - dc App
그건 보조기억장치 용량 얘기고 템플릿 얘기는 바이너리 크기 커지면 성능 떡락해서 하는 얘기임
본인은 여태까지 단점이 컴파일시간이 오래걸린다인줄 알았는데
소스코드하고 바이너리 사이즈는 전혀 별개임. 템플릿은 specialization 때문에 바이너리가 엄청 커질수 있음 - dc App
늘어난 양이 캐싱 성능 떡락시키는 임계점이 있음 이건 너무 케바케라 프로파일링 필수
ㅇㅇ 그런식으로 찍어내는게 C++ 컴파일 속도랑 바이너리 크기 다 깎아먹음
어차피 안쓰이는 코드는 컴파일러가 없애줄거고, 해당 specialization이 존재한다면 템플릿 없었어도 함수 여러개 만들어서 썼을거 아닌가? 물론 void*을 쓰면 함수는 하나겠지만, 동작이 다르니...
? - dc App
오히려 코드가 줄어드는거 아닌가요 - dc App
템플릿이 하는 일 : 사용자가 쓴 코드를 여러벌로 확장 -> 코드 크기 증가하며 특히 정신 안차리면 불필요한 부분이 중복되버림
나사 우주선에 날리는 코드는 용량 하나라도 줄일려고 한줄한줄 아껴쓴다던데 사실 그런 극한적인 환경빼고는 잘 모루겠소요.. - dc App
그건 보조기억장치 용량 얘기고 템플릿 얘기는 바이너리 크기 커지면 성능 떡락해서 하는 얘기임
본인은 여태까지 단점이 컴파일시간이 오래걸린다인줄 알았는데
소스코드하고 바이너리 사이즈는 전혀 별개임. 템플릿은 specialization 때문에 바이너리가 엄청 커질수 있음 - dc App
늘어난 양이 캐싱 성능 떡락시키는 임계점이 있음 이건 너무 케바케라 프로파일링 필수
ㅇㅇ 그런식으로 찍어내는게 C++ 컴파일 속도랑 바이너리 크기 다 깎아먹음
어차피 안쓰이는 코드는 컴파일러가 없애줄거고, 해당 specialization이 존재한다면 템플릿 없었어도 함수 여러개 만들어서 썼을거 아닌가? 물론 void*을 쓰면 함수는 하나겠지만, 동작이 다르니...