아아 애드블록을 직접 만들자
아아는 하이고오옥 이어요.
이거는 전례가 시거먼 개발자가 아니라 하더라도 만들어보아 긍정적 경험에 여지가 있어요.
다른 분들도 도전해본다면 프로그래밍에 새로운 경험을 가지는 거여요.
애드블록에 핵심으로 많은 문자열 필터를 고속 처리 하여서 사용자 경험이 훼손되지 아니하는 목적이 있어요.
구현하기에 정답이 없었다 하더라도 문자열은 일반적으로 바이트 단위로서 64비트 컴퓨터에서 8번에 오버헤드가 나는 부분이 문제이어요. 사실 cpu 캐시에는 일렬에 데이터가 올라가서 여러번 다시 계산 하였다 하더라도 발열량이 커진다는 부분 이외에 문제는 없었쩌. 대부분에 pc 환경은 기가헤르츠 단위에 처리를 하기에 몇 번을 다시 반복하는 거는 문제에 여지가 없어요.
이렇다 하더라도 휴대기기는 발열만큼 전력에 낭비가 이루어지는 거여서 악플을 받기 싫음 고쳐야 해요. 슬픈 사실은 대부분에 프론트 프로그래밍 언어들은 char 타입이 2바이트 utf-16(little endian)으로 처리하기에 확정된 오버헤드가 있어요.
와앙 std가 파이썬보다 느린 사실을 보여주는 위에 프로젝트는 변태여요. 사실 표현이 심해서 이러는 거이지 대부분에 개발자들은 소신을 가지고 있어서 적당한 정도가 없었쩌. 유튜버 유영천님이 근래에 amd기반에 AVX512 처리 성능을 시범 하였는데 인텔 AVX2로 이전 체계보다 성능이 떨어져서 실망을 했어요. 사실 나무위키에 amd 젠4가 256bit 2사이클을 쳐서 AVX512 계산을 이룬다고 되어있어요. 나는 지금은 ai 병렬 연산에 관심이 돌아가서 simd를 잘 안보는 태도를 가지고 있어요.
그런데 코틀린 프로그래밍 언어에서는 저수준 제어가 없어서 최적화 기법을 전부 치지 못하는 결론이 있어요.
(이제부터 정확한 표현을 사용해야 한다고 제재가 걸려서 마스킹으로 못해요)
