.bashrc
대신 사용하기 위해 다음 함수를 작성했습니다 rm *
.
function re()
{
cp . -R /home/glset/ritwik/trash/
rm *
}
작동하지만 .. 매우 느립니다. 작은 파일이라도 실행하는데 시간이 오래 걸립니다. 두 명령을 차례로 실행하는 것이 항상 더 빠르지만, 이는 우선 함수의 목적을 무산시킵니다. 내가 여기서 뭔가 잘못하고 있는 걸까요? 무엇이 더 오래 걸리나요?
답변1
함수를 실행하거나 두 명령을 별도로 실행해도 실행 시간에 측정 가능한 차이는 없습니다.
내 생각에는 함수를 실행하고 속도가 느린 것을 확인한 다음 개별적으로 명령을 시도한 것 같습니다.
이렇게 하면 처음에는 데이터가 디스크 캐시에 존재하지 않으므로 디스크에서 데이터를 로드하는 데 걸리는 시간을 측정하게 됩니다. 두 번째에는 데이터가 이미 디스크 캐시에 있으므로(방금 액세스했기 때문에) 메모리에 데이터를 복사하는 데 걸리는 시간을 측정합니다.
적절한 벤치마킹을 수행하려면 동일한 조건에서 모든 측정을 시작해야 합니다. 즉, 모든 데이터가 캐시에 있다는 것을 알고 있거나 모든 데이터가 디스크에서 로드되어야 한다는 것을 알고 있습니다.
데이터를 복사한 다음 원본을 삭제하는 것은 매우 이상한 접근 방식입니다. 하지만 달려라 mv
! 동일한 파일 시스템 내에서 파일을 이동하는 경우 즉시 발생합니다.
또한 rm *
이는 매우 특이한 명령이다. 디렉토리가 더 이상 필요하지 않으면 삭제하십시오. rm -r somedir
또는 mv somedir ~/trash/
.