성능을 최적화하려면 undefined behavior는 둘째치더라도 unaligned access가 일어나지 않도록 해야하는게 기본인데 성능 최적화 때문에 unaligned access가 꼭 필요할 때가 있다고 우기는게 유머.
사람들이 달라붙어서 설명해줘도 안받아들일 것 같다는 느낌이 있었는데 느낌만이 아니었네 ㅋㅋㅋㅋㅋ
성능을 최적화하려면 undefined behavior는 둘째치더라도 unaligned access가 일어나지 않도록 해야하는게 기본인데 성능 최적화 때문에 unaligned access가 꼭 필요할 때가 있다고 우기는게 유머.
사람들이 달라붙어서 설명해줘도 안받아들일 것 같다는 느낌이 있었는데 느낌만이 아니었네 ㅋㅋㅋㅋㅋ
첫째. 저건 ㅅㅅㅅ가 쓴 글로 보임. 둘째 넌 치졸하고 입도 더러움. 끝.
너는 SSE unaligned pack 관련 명령어나 읽고와.
제대로 짜본적도 없지? ㅋㄷ
내가 x86을 다룰일이 없어서 sse는 안써봤지만 sse 인스트럭션은 unaligned랑 aligned랑 퍼포먼스가 똑같대냐? sse에 대해 암것도 모르고 그냥 찾아봐도 movaps가 movups보다 훨씬 빠르다던데? ㅋㅋ
응 돌려봐 unaligned 랑 aligned 가 메가 단위에서도 퍼포먼스가 똑같은 경우를 경험하게 될거다.
그건 케이스마다 달라바보야.
글고 안해본거 좀 해본척 아는척 하지 말고 임마. ㅉㅉ
니가 최적화를 알아?
무협지에서 일기토하는거 보는거같다
글고, 너가 x86에서 작업하다고 모두가 다 x86에서 작업하는건 아니란다. sse 안다뤄보면 뭐 경험 없는것처럼 얘기하는데, arm neon 써봤냐고 얘기하면 당연히 써봤다고 할테니까 우리가 다 같이 다뤄본 arm neon으로 얘기해자.
얌마 솔라리스 도 실컷 썼고 울트라스팍 슈퍼스팍도 실컷 썼다. 임베디드는 지금도 하고 있고. ㅉㅉ
'보통'이라는 표현을 쓰면서 항상 x86에서만 해당되는 케이스만 얘하는거보면 아마도 x86만 다루는게 아닌가 의심스럽긴 하다만.
Unix System V, SCO Unix 지겹게 썼으니 많이써본척하지 말아주지 않으련?
ㅋㅋㅋㅋ 그렇게 여러 플랫폼 다뤄봤다는 새끼가 unaligned 써도 된다고 얘기하는게 스스로 웃기지 않냐?
이 또 비약하는 새끼봐라.
성능과 호환성에서 선택할 문제랬지 누가 막 써도 된댔니?
그래 '대부분의 경우 문제가 없다'라는게 니 표현이었지 참. ㅋㅋㅋ
누가 그랬어 누가? 어?
그건 내가 쓴 글이 아니라니까 그러네 귀머거리냐 눈이뼜냐.
대부분의 경우를 x86 이라고 정의한게 ㅅㅅㅅ 의 주관이라면 주관인거지
성능과 호환성이라는 부분도 웃기잖아? C로 치면 undefined behavior니까 호환성은 물 건너간거고, 성능도 unaligned access가 후달리는데 성능과 호환성을 생각해서 aligned랑 unaligned에서 선택을 해? 너 스스로 말이 된다고 생각하냐?
ㅋㅋㅋ 안돌려보고 또 개소리하네.
니가 C++ 로 memmove 열라 환상적으로 aligned 구현해서 그냥 메모리 얼라인 무시하고 최적화시킨 코드랑 비교해서 빠르면 인정. ㅋㄷ
아까 글에도 적었지만 src, dst 구조는 간단히 정렬되는게 아냐. ㅉㅉ
ㅋㅋㅋㅋ 안돌려보긴 뭘 안돌려봐 memcpy 만 해도 소스 까봐라. 에휴 얜 진짜 왜케 억지스럽냐
아니 C++ 로 해보라고 등신아.
그니까 니 말은 unaligned access로 구현한 memcpy나 aligned access 신경써서 구현한 memcpy나 성능이 같다는거지?
어셈블 최적화 된거 말고 등신아. 지금 C/C++ 이야기 하는거 아님? 니가 손으로 얼라인 맞춘거랑, SSE unpacked 걸린거랑 어느쪽이 더 빠른가 비교해보라고.
니가 아직 memcpy 구조도 제대로 파악 못하고 있나 보구나 ㅋㄷㅋㄷ
다시 보고 오련? 몇 덩어리로 나뉘어져 있는지?
아 진짜 얜 병신인가 요새 누가 어셈블리 레벨에서 align을 맞추냐 등신아. 컴파일러에서 제공하는 alignment attribute가 괜히 있냐? c++11에 alignas나 좀 보고 와라. 얼라인먼트 얘기하면 무조건 어셈블리인줄 아는갑네
너 난독증이지.
C++ 로 얼라인하라고 위에 적었지.
니가 그렇게 최적화를 잘한다니, 니 실력으로 잘 짜서 비교해보렴. unaligned 조건에서 얼마나 빠른가 ㅋㄷㅋㄷ
짜보도 않은게 성능이야기 하고 최적화 이야기하네 ㅋㅋㅋㅋ 입만살아갖고.
ㅋㅋㅋ 븅신이 최적화는 지만 해본 줄 아는갑네.
https://sourceware.org/git/?p=glibc.git;a=blob;f=string/memcpy.c;h=e4aa4dd2089cb8627f37fdc1f5c839a8b458fd80;hb=HEAD
glibc의 memcpy구현이다. 여기서 왜 얼라인을 맞추겠냐 니 말대로라면 얼라인 안맞춰도 빠른데?
근데 이븅신은 alignment attribute 가 왜 나와? malloc 하고 일부 주소만 memcpy 할수 있다는걸 모르는거여?
그냥 짜서 갖고와보셔. 니 손으로 ㅉㅉ 어디 캐캐묵은 코드 들고오지 말고.
책에 있으면 지가 짤줄 안다고 자랑할 새끼네 ㅋㅋ
자 그럼 요새 눈에 띄는 musl libc의 memcpy 구현이다.
http://git.musl-libc.org/cgit/musl/tree/src/string/memcpy.c
얘네들이 븅신이라 얼라인먼트 맞출라고 삽질하겠니? 왜? 내가 짠 소스 코드 아니니 무효라 할거냐 또? ㅋㅋㅋ
그니까 니가 짜서 들고와. 이해도 못한거 이해하는척 하지 말고 등신아.
애초에 지금 나한테 얘기하고 싶은게 뭐야? 'unaligned access 써도 aligned access만큼 빠르다'라는게 니가 하고 싶은 얘기야?
넌 memory attribute 에서 이미 문제 파악도 못하고 있던거여.
하이고 답답하네 안해보니 이런 개소리를 연속으로 하지.
아 진짜 이 새끼랑 얘기하다보면 지 궁지에 몰릴때마다 자꾸 딴소리 해대서 미치겠네. 고만할란다 진짜 뭐하는 짓거리냐
주소 하나면야 간단히 정렬되지. 선언시의 정렬은 니 말처럼 memory attribute 로 되고, 연속 읽기나 연속 쓰기의 경우엔 head-trail 만 따로 떼어내면 되니 align 이 쉽지. 근데 src-dst 구조는 다르다는거여.
전뚱뚱해서 두족발로 프로그래밍을 합니다
애초에 성능 생각하는 새끼가 unaligned도 괜찮다고 하는데서부터 기본이 안된 새끼란걸 알았어야했는데
계속 어긋난채로 가야하는 그걸 니가 뭘로 정렬해줄건데? 비트 쉬프트? 그건 overhead 아니냐? SSE 보다 당연히 느린데?
ㅋㅋㅋㅋㅋㅋㅋㅋ 이 봐라. 문제도 똑바로 모르고 우기기 정신승리하려고 폼 잡는다.
memmove 구현해 보고 와 등신아. 너를 위한거다. ㅋㅋㅋㅋ