1. intrinsic 필수

    여기에 대해 개념이 서면 자신이 DSP 나 co-processor 도 설계할 수 있음.


2. cache 라인 정렬 필수 (64비트에선 128바이트 정도, 32비트에선 64바이트 정도로)

    여기서 웃긴게 ms 의 strlen 이 1바이트씩 읽어서 안전하다는 ㅉㅉ의 주장이 개그가 됨.

    니가 안읽어도 어차피 CPU는 캐시라인 단위로 읽어서 최대 127 바이트를 더 읽게 됨.

    AMD 에서 더 크게 prefetch 하는 경우도 봤으니 크기 단위가 절대적이진 않음.


    즉 디스크나 sdcard를 예로 들자면 어차피 block device 여서 512 바이트씩 읽는데 (4096 블럭도 있음)

    1바이트씩 처리해 놓은 코드를 보고 안전하다고 자위하는셈.

    졸라 병신같음.


    제대로 만든 운영체제라면 gutter 가 있게 마련.


3. cache 라인 정렬을 위해 기존의 코드가 다시 3등분 이상이 되어야함.

    최적화 == 노가다랑 try and fail 의 과정임.

    그렇더라도 필요가 있을 때 하는거임.

    그런 필요가 있는 곳이 실력이 판가름 되는 곳이고 마진이 높은 영역임.


4. native programmer 란 시스템 종속적이란 문제 만큼이나 시스템이 바뀔수록 시장이 열린다.

    투자하는 만큼 가져가는 영역임.