Skip to main content

Command Palette

Search for a command to run...

포인터 흑마법

Updated
1 min read

SWC 관련해서 최적화 목적으로 포인터 흑마법을 쓸 일이 생겼다. 근데 난 흑마법은 개뿔이고 포인터도 모른다. 포인터도 모르면서 컴파일러를 만들었다고하면 좀 이상하겠지만... 진짜 모른다.

그래서 (필요한만큼만) 공부하기로 했다. 일단 내가 하고 싶은 건

enum Atom {
  Inlined([u8; 7])
  Static(&'static str),
  Arc(Arc<str>),
}

이다. 그리고 Arc의 경우 인터닝이 가능해야한다. 여기까진 쉬운데... 사이즈가 8바이트면 좋겠어서 방법을 찾아봤다. 포인터의 64비트를 다 쓰는 게 아니니까 남는 비트로 어떻게 할 수 있지 않을까 싶었다. 근데 러스트 디스코드에서 질문하고 답변받은 게 &'static str이 16바이트라는 것이다.

아...

결론은 저런 API는 불가능하다는 것... 그리고 찾아보니까 48비트만 쓰는 것도 현재 구현 디테일이고 64비트까지 확장할 수 있다고 하더라.

이 문제는 좀 고민을 해봐야 할 것 같다

More from this blog

한국의 학벌에 대한 생각

내 블로그의 제목이 kdy1: The way I think 인만큼 앞으로는 내 생각을 더 자주 올리려고 한다. 한국 기준으로, 학벌은 사람을 볼 때 꽤나 유용한 지표이지만, 절대적이지는 않다. 경험적인 얘기일 뿐이지만, 성균관대학교 자퇴생으로서 느낀 것들이 몇 가지 있다. 대학까지 간 사람의 학벌은 학습 능력 x 성실함 에 대체로 비례한다. 그래서 의미가

Apr 3, 20261 min read

인간 지능에 대한 메모장

최종 업데이트: 2026/03/15 지능의 유전 현재 인류 기준으로, 고지능자는 고지능 유전자가 많이 겹친 사람이다. 지능의 유전엔 X 염색체가 매우 중요한 역할을 한다. 그리고 이게 남자와 여자의 지능 분포 차이를 만든다. 극상위권에 여자가 거의 없는 이유가 이것이다. 고지능 X 염색체가 여자한테서 발현되려면 2개가 있어야 한다. 이는 인간의 생

Mar 15, 20262 min read

Ai 코딩 팁 2 (한국어)

발표 자료: https://gamma.app/docs/AI--2a52e7tk3eb1ch1 AI 활용법 관련해서 간단하게 발표를 했다. 발표 자료 앞쪽은 전에 블로그에 올린 글이랑 같은 내용이다. 이 글에서는 기존 글에서 다루지 않은 내용들을 다루겠다. 에러 메시지 및 로깅 구체적 타입 및 스키마 활용 any 타입은 사람에게도 위험하지만, AI에게는 더 위험하다. 마찬가지로, JSON.parse처럼 아무 제약 없는 파싱 느슨한 인터페이스 ...

Jan 30, 20265 min read

kdy1: The way I think

233 posts