java 코드에 대해서...

jsseal의 이미지

java.lang.System.arraycopy이 array copy written in
Java itself로 쓰여진 것 보다 훨씬 효율적이라고 하는데 왜그런가요?

iolo의 이미지

네이티브로 만들어져 있기 때문입니다.
단, 같은 작업을 여러번 한다면 최근의 hotspot jvm에는 별 차이 없을 수도 있습니다.

그것은 C에서도 마찬가지입니다.

char[] a;
char[] b;
for (int i = 0; i < sizeof(a); i++) {
  b[i] = a[i];
}

보다는
memcpy(b, a, sizeof(a));

이 빠르겠죠.(물론 컴파일러 최적화에 따라 달라질 수 있겠지만, memcpy를 인라이닝했다고하면 더 빠르게 만드는 것도 쉽지 않은 일이겠죠)

----
the smile has left your eyes...