CPU에 최악인 조건문 최적화

Поділитися
Вставка
  • Опубліковано 12 лис 2024

КОМЕНТАРІ • 144

  • @jinhanaura
    @jinhanaura 3 роки тому +120

    반복문안에 스위치나 이프 금지~

    • @포프티비
      @포프티비  3 роки тому +49

      이렇게 한 줄 요약이 되는 걸... 난 왜 오래 설명한거지.. (또르르)

    • @부추-m5c
      @부추-m5c 3 роки тому +3

      if로 분기하고 for문을 두개로?

    • @masterjo98
      @masterjo98 3 роки тому +52

      누가보면 반복문안에 if switch를 쓰면 안되는줄 알겠어요.... 프로그래밍중 99%의 경우에는 아무 문제가 없습니다.
      최적화는 정말 문제가 되는곳에서 해야지... 비중이 없는거까지 생각해서 코딩할 이유가 전혀 없습니다.
      실무자라면 코드의 비중을 고려해서 진짜 최적화해야할곳에만 최적화 합니다.
      일리리 switch 대신 맵핑 테이블을 써야지 라는 생각은 최적화 처음 배운 사람들이 하는 사고 방식입니다.

    • @kys6879
      @kys6879 3 роки тому

      @HG Jim 이게맞지 ㅇㅇ

    • @Wind_mill
      @Wind_mill 3 роки тому

      영상을 이해못하고 댓글을보고 이해했어여! 감사합니다

  • @root-n4k
    @root-n4k 3 роки тому +19

    5:55에 말해주셨던 기능을 찾아보고 싶은데 저의 부족한 구글링 실력때문에 찾지를 못하겠네요.. 혹시 아시는분 계시면 키워드라도 알 수 있을까요??

  • @kyounghwanyoun2916
    @kyounghwanyoun2916 3 роки тому +10

    컴파일러야 사랑해

  • @맥구-c9e
    @맥구-c9e 3 роки тому +8

    거인의 어깨는 역시 너무 달달하다

  • @공대아름이-n2e
    @공대아름이-n2e 2 роки тому +1

    오........ 컴파일러 공부도 중요한거 같아요.
    뭔가 더 공부할게 늘어나니 행복하네요. ㅎㅎㅎㅎㅎ

  • @golbang2176
    @golbang2176 3 роки тому +18

    와 이런 정보는 어디서 구해야 하는지..막막했는데 포프님이 웬만한건 영상 만들어주셔서 큰도움 되고 있습니다 ㅎㅎ

    • @포프티비
      @포프티비  3 роки тому +4

      보통 동료한테 구하는 겁니다 :)

  • @andrewahn2901
    @andrewahn2901 3 роки тому +6

    와 로우레밸 이해도의 중요성을 체감하게 하는 영상이네요

    • @포프티비
      @포프티비  3 роки тому +2

      알면 여러가지 좋은 점이 있죠 ^^

  • @ChrisShim
    @ChrisShim 3 роки тому +4

    cpu 파이프라인이 길면 분기문으로 성능하락이 필연적이죠. 근데 요즘 cpu는 분기예측을 잘해서 개발자가 생각하는것보다 성능이 잘나옴

  • @윤여환-f9k
    @윤여환-f9k 3 роки тому +5

    이런 SC 적인것과 프로그래밍 기초아닌 팁같은것들 따로 강의로 내주시면 바로 구매할텐데 ㅠㅠ 너무감사합니다

  • @고토보롱
    @고토보롱 Рік тому +2

    와 가짜 개발자인 저한테는 어셈블리어를 확인해서 작업한다는 얘기가 너무나 거대한 산처럼 느껴지네요 ㄷㄷ...

  • @onle9293
    @onle9293 3 роки тому +8

    이 제목은 안들어올수가 없다.

  • @multibus2886
    @multibus2886 3 роки тому +3

    세상은 넓고 배워야 할 것은 많다...

  • @modry9872
    @modry9872 8 місяців тому

    봐도 이해하기가 진짜 힘드네..
    나중에 다시 봐서 꼭 이해하겠습니다

  • @akse4882
    @akse4882 2 роки тому +1

    와 프로그래밍 접었다가 다시 시작한사람인데 이런팁같은것들 정말 도움많이되네요. 약간 한국계 이펙티브 시리즈를 보는것같았어요. 이런팁같은것들 책으로 내도 정말 책잘팔릴것같아요.

    • @포프티비
      @포프티비  2 роки тому

      책 쓰는 건 넘나 힘든 일이니 일단 유튜브로 대충... :)

  • @kimjonghyun9704
    @kimjonghyun9704 3 роки тому +18

    보안문제에서도 사실 저 branch 가 굉장히 크리티컬 했었죠 다들 알고계신 인텔 cpu 게이트 사건중 하나가 바로 저 branch 로 인해 제한된 pipeline efficiency 향상을 위해 만들어진 cpu branch prediction 기법 때문에 생겨난 문제라…. 미세공정으로 가면서 온칩 캐시도 점점 커지고 있어서 오히려 컴파일 타임때 룩업테이블을 활용하는게 좋을것 같다는 상상은 계속 했었는데 현업에서 이렇게 사용하고 있을줄은 몰랐네요 좋은 내용 감사합니다.
    ua-cam.com/video/G4hL5Om4IJ4/v-deo.html
    현대 cpu 아키텍쳐의 거장인 짐켈러 인터뷰인데 한번 보시는것도 추천드려요.

    • @양진혁-u1p
      @양진혁-u1p 3 роки тому +3

      Branch predictor 를 타겟으로한 공격은 스펙터 아닌가요? 멜트다운은 캐시를 타겟으로한 공격으로 알고 있는데..

    • @kimjonghyun9704
      @kimjonghyun9704 3 роки тому +4

      @@양진혁-u1p 정확한 지적입니다. 사실 제가 좀 인텔 cpu 사태를 뭉뚱그려 멜트다운 사건이라 혼동 되게 적어 놓았는데 (아마 멜트다운 이라는 단어 자체 어감이 익숙해서 이런 큰 실수를 한것 같습니다ㅠㅠ) cpu 사건 이 크게 보면 스펙터 멜트다운 두가지였죠. 엄밀하게 멜트다운은 캐시를 타겟하여 공격을 Out of Order Exec 로직의 허점을 통해 실현했습니다. Pipeline 구조를 효과적으로 이용하기 위한 명령어 관리 로직 기법중 하나죠. 오개념을 전달해 죄송합니다. 사실 명령어를 어떻게든 효율적으로 실행시키려는게 현대 cpu 아키텍쳐의 핵심인것 같습니다 위에 링크를 남긴 짐켈러도 해당부분을 언급하구 있고요. 그러나 고수준의 권한 관리와 빠른 명령어 처리 스피드는 아마 트레이드 오프 관계가 또 아닌가 싶기도 하구요 ….
      여튼 좋은 지적 감사합니다

    • @양진혁-u1p
      @양진혁-u1p 3 роки тому +3

      @@kimjonghyun9704 답변 감사해요. 멜트다운 스펙터 둘다 부채널 공격인 점에서 비슷하기도 하죠. 명령어를 비순차적으로 처리하는 것에 대해서 자세히 모르지만, 말씀하신대로 문제되는 점이 계산되지 않아야 할 명령어까지 계산되어 캐시에 올라오는거였죠.. 그래서 들은 바로는 core간에서도 timing attack이 가능할 정도라(공격자가 victim과 다른 코어를 쓰더라도) LLC 를 코어간 공유하지 않고 나눠쓴게 하기도 했었더라구요. 예를들어, 8MB LLC를 코어 4개가 2MB씩 따로 쓴다던지.
      멜트다운 이슈로 하드웨어적인 해결은 힘들고 소프트웨어적인 패치만 하다가, 다른 이슈를 해결하는 솔루션이 오히려 멜트다운도 해결하는? 그런상황이 있었다고 하더라구요ㅋㅋ
      근데 그 뒤로 캐시말고 cpu안에 있는 수십 Byte짜리 버퍼를 타겟으로 또 공격하더라는..(혹시 관심있으시면 MDS 공격 ridl, fallout 검색하시면 나와요)

    • @kimjonghyun9704
      @kimjonghyun9704 3 роки тому +4

      @@양진혁-u1p캐시 관련된 보안 버그들은 어쩔수 없이 계속 발생할겁니다. 사실 마이크로프로세서 설계시 가장 큰 바틀넥이자 결국 가장큰 성능 향상을 가져오는 부분이 바로 캐시 히트레이트를 높이는 로직들이라… 실제로 리스크 머신 하나 제대로 설계해보신 분들은 알겠지만 (아마 거의 없을것 같지만) 디램에서 데이터 콜하는게 사실 비용의 대부분 입니다. (위에서 말씀해주신 캐시 타이밍 어택까지 가능한 이유가 바로 바틀넥이 어마무시햐서 발생하는 문제라고도 짐작해볼수 있을것 같아요) 명령어 처리는 진짜 극히 일부죠… 그래서 사실 현재 같은 구조에서 제일 즁요한게 메모리 스피드고. 그래서 애플 m1 칩도 메모리 다이를 바로 로직 다이 옆에 붙여 놓은게 이같은 이유입니다

    • @_________________________....
      @_________________________.... 2 роки тому +1

      😀

  • @stevejobthing
    @stevejobthing 3 роки тому +3

    스위치문보다는 if문을 많이 썻었는데 몰랐던 지식이네요.. 감사합니다

  • @youngtae7280
    @youngtae7280 3 роки тому +7

    지금 학교에서 파이프라이닝을 배우는데... 이렇게 연결이 되는군요!

    • @포프티비
      @포프티비  3 роки тому +1

      크으.. 훌륭한 학교 다니시는군요 -_-d

  • @cogidtjr
    @cogidtjr 8 місяців тому

    컴파일러 맘이라, 원리를 알고 직접 까보거나 안되면 직접 만들수있는 방법 알아서 구현

  • @songj5993
    @songj5993 2 роки тому +1

    신입개발자인데요. 최근에 공부가 재미가 없어져서 좀 속도가 더뎌졌는데
    포프님 영상 재밌어서 머리에 잘 들어오는 것 같습니다. 감사합니다.

  • @shk5786
    @shk5786 Рік тому

    제가 대학교 컴구조에서 배운 것들이 실제로 쓰이는 사례를 알게되어서 너무 좋았습니다!

  • @번개-l3c
    @번개-l3c 3 роки тому +2

    매크로가 컴파일 타임 튜링 완전하다는건는 알고있었는데 실업무에서는 이렇게 사용하는거군요 ㄷㄷ 컴파일 타임 튜플 하나 키워드 듣고 갑니다. 감사합니다.

  • @김두현-h5l
    @김두현-h5l 3 роки тому +1

    와 개소름이네요.... 좋은강의 잘듣고갑니다.

  • @hhk9803
    @hhk9803 3 роки тому +1

    매번 동영상볼때마다 새로운 시각으로 볼 수 있게 해주셔서 감사합니다. 오늘도 부족한 자신을 반성합니다 ㅠㅠ

  • @EntrepreneurGeoff
    @EntrepreneurGeoff 2 роки тому +2

    우리 교수님은 어셈레벨에서 cpu 파이프라인 헤저드 때문에 의미없는 인스트럭션 몇개 더 집어넣기도 하더군요 인스트럭션이 더 들어갔는데 더 빨라지는게 신기했던 기억

    • @포프티비
      @포프티비  2 роки тому +1

      뭐 때문에 더 빨라지죠?

    • @EntrepreneurGeoff
      @EntrepreneurGeoff 2 роки тому +5

      @@포프티비 쓰기 과정이 끝나기전에 읽기 과정이 시작된다던지 하면 헤저드가 발생해서 파이프라인 단계가 진행된걸 뒤로 돌리면 그만큼 비용이니까 중간에 뭘 끼워넣으면 throughput 측면애서 오히려 빠르게 실행시킬 수 있다고 합니다

    • @vogel4418
      @vogel4418 2 роки тому

      @@EntrepreneurGeoff 무엇을 끼워넣었는지 궁금하네요. 어셈블리어를 정확하게 모르면 이해하기 어렵네요

    • @EntrepreneurGeoff
      @EntrepreneurGeoff 2 роки тому

      @@vogel4418 특별한건 아니고 nop같은거 넣던데요

    • @김민규-i4c7c
      @김민규-i4c7c 2 роки тому

      점프한 자리에 ret가 있으면 AMD cpu에서 분기 예측 그런게 잘 안돌아간다 이런 내용을 봤던 거 같은데 확실하진 않습니다

  • @user-jk5wu4qb5h
    @user-jk5wu4qb5h 3 роки тому +2

    룩업테이블(점프테이블로 알고있었는데 룩업테이블이라고 부르는것이엇군요) 최적화는 알고있엇는데 default 부분이 생성이 안되는건 처음 알았네요

    • @포프티비
      @포프티비  2 роки тому +1

      뜨겁게 사용할 키가 특정이 안 되니까요

  • @doltoBlorin
    @doltoBlorin 2 роки тому +1

    오래된 영상이지만 생각나서 다시 들어왔습니다.
    그때는 이해가 잘 안되었는데 (지금도 그런거 같긴 하지만)
    혹시 룩업테이블을 만든다 라는거는 스크립트나 다른곳에서 파이프라인 함수로 컬랙션을 한다라는 의미로 받아도 되는걸까요?
    이를테면 반복문에서 요소리스트의 이름이 "바보"라면 그 요소의 속성인 메세지에 "노력해라", 아니면 "잘 하고 있어"를 대입하라 같은걸 한다면
    for(요소 v in 요소리스트){
    if(v.name == "바보") v.message = "노력해라";
    else v.message = "잘 하고 있어";
    }
    이런식으로 하는 것 보다
    바보요소 = 요소리스트.filter(v => v.name == "바보");
    그외요소 = 요소리스트.filter(v => v.name != "바보");
    바보요소.forEach(v => v.message = "노력해라");
    그외요소.forEach(v => v.message = "잘 하고 있어");
    이런식으로 하면 룩업테이블을 만들고, 한번에 처리한게 되는건가요?
    이런식의 분류를 많이 하면 많이 할 수록 전자에 for문으로 처리하는 것 보다, 후자로 미리 컬렉션(룩업테이블)을 만들고, 일괄 처리하는게 성능면에서 더 좋은게 되는 걸까요?
    찾아보니 이런 룩업테이블은 이거보다 뭔가 더 복잡한거 같긴 한데...
    약간 알거 같긴 합니다... 기존에 스위칭 분류를 논리연산으로 나누지 않고, 아예 배열화(?) 시켜서 값을 인덱스처럼 쓰는 거 같네요

    • @포프티비
      @포프티비  2 роки тому

      제가 filter는 잘 몰라서.... 그냥 룩업테이블이라 하면 key가 배열의 인덱스고 배열 속 요소가 실제 원하는 값이라고 생각하시는 게 제일 편합니다

  • @rickey-u9q
    @rickey-u9q 3 роки тому +3

    완전 강의 내용 미쳤따리.. 유니티 1년차인데 내용 너무 어렵지만 뭔가 알거 같기도 하고..

    • @포프티비
      @포프티비  2 роки тому +3

      감사합니다

    • @necrojim6954
      @necrojim6954 2 роки тому

      오늘 내용은 어찌보면 유니티와 연관이 전혀없고 최소 씨,씨쁠쁠 문법을 다 알아야 알아들을수있을꺼 같아요.

    • @johnsim8102
      @johnsim8102 2 роки тому

      저도 유니티쓰면서 알면 좋은 내용이라 생각합니다.

  • @cogidtjr
    @cogidtjr 2 роки тому +2

    잘 봤습니다
    한프레임에 수천번이면 영향 있겠네요

  • @Galmaegiddong
    @Galmaegiddong 3 роки тому +3

    와 몰랐던건데 유용한 영상 감사합니다!

  • @junseokseo3246
    @junseokseo3246 Рік тому

    어셈블리어 과목 듣고 드디어 어떤 얘기인지 이해했습니다 🎉

  • @jm-wv8pq
    @jm-wv8pq 3 роки тому +3

    와 오늘 영상 완전 유용했습니다 👍

  • @sekulim527
    @sekulim527 3 роки тому

    훔...if문은 여러조건을 병합해서 나눌때 좋고, switch는 여러조건이 많을때만 좋은줄 알았습니다. 제가아는 초보선에서는 while이나for 같은 loop에서는 limit카운트정도는 미리잡고 들어가는게 좋다는거..? 근데 어쩔수없이 fetch array로 리스트 뽑으면서 if문을 쓸수밖에없는부분이 있는데 .쿼리로 따로 조건줘서 뽑고 리스팅해야되나 모르겠네요

    • @포프티비
      @포프티비  3 роки тому +5

      query(linq 같은 거일떄)를 돌리면 내부적으로 어차피 반복문을 쓰는 거라 그런 경우에는 큰 도움이 안될 수도 있습니다.
      제가 비디오에서 말한예는 대략 이런 겁니다.
      i == 0 일때 A로 처리 (i는 반복문의 인덱스)
      i != 0 일때 B로 처리
      그런 경우는 for문밖에서 i==0인 케이스를 처리하고 반복문은 1부터 돌리면 되거든요. 그런데 이걸 for문을 0부터 돌리고 그 안에 if문을 쓰는 것이 문제.. :)
      또 다른 경우는 배열 하나에 모든걸 두고 처리하기보다는 상이한 두가지 것들을 배열 2개에 저장해 두고 따로 for문을 돌리는 법도 있죠.

  • @호패밀리
    @호패밀리 3 роки тому +3

    default 구간에 assert 를 어떻게 고치셨는지 대략이라도 알려주실수 있을까요? default 를 쓰면 안되는건가요? 아니면 switch case문에서 assert함수를 안써야하나여

    • @포프티비
      @포프티비  3 роки тому +3

      switch/case에는 default를 쓰지 말고 switch case 들어가기 전에 assert()를 작성하면 되죠.

  • @abzc1281
    @abzc1281 3 роки тому +7

    1학년 때는 대학에서 배우는게 돈 값을 못한다고 생각했는데
    올해 2학년되면서 파이프라인이나 스케쥴링 같은거 배우면서 등록금 값은 한다고 느껴지더라구요
    요즘은 인터넷에 자료가 많으니 의지가 강한 사람은 독학 가능하겠지만 저는 아니라서ㅠㅠ
    동영상보니 지금 배우는 개념들을 잘 익혀둬야 좋은 프로그램을 만들수 있겠네요
    좋은 영상 감사합니다!

    • @윤대영-c4x
      @윤대영-c4x 2 роки тому +3

      전 컴공출신은 아니지만, 이공계 대학에서 배운거 쓸모없다는 사람은 생각없이 공부를 했거나 공부를 안한거라 봐요. 대학 공부의 결과만이 아니라 과정만 봐도 실무(특히, 문제 파악 및 해결)에 적용할 부분 많아요. 전 대학 졸업 후 한번도 대학공부가 쓸모없다는 생각해 본 적 없고, 오히려 더 깊이 못한게 아쉽게 느껴지던데.. 다만 당연한말이지만 회사나 업무 수준이 낮을수록 대학에서 배운걸 이용할 건덕지는 적더라구요.

  • @taylorshin
    @taylorshin 3 роки тому +4

    그런데 파이썬 같은 경우는 어쩌죠? 3.10에 Siwtch 비슷한 게 나온다고는 하는데, 그냥 인터프리터가 알아서 하는걸까요?

    • @포프티비
      @포프티비  3 роки тому

      컴파일러(인터프리터)만 괜찮다면 웬만한 if문도 룩업테이블로 만들어줍니다. 어셈블리어에서는 if와 switch 차이가 없거든요.

  • @kindcode
    @kindcode 3 роки тому +5

    반복문 안에서 if문을 돌리지 마라..는 처음 들어봤는데.. 저는 아직도 미숙한 개발자 인가봐요 ㅜㅜ
    사실 내용을 들어도 잘 이해가 되지 않지만.. enum으로 작은 숫자값을 넣고 switch문으로 사용하면 뭔가 된다.. 라는 느낌만 이해했습니다!
    ... 노력하면 포프님처럼 좋은 개발자가 될 수 있을까요..? ㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜ

    • @포프티비
      @포프티비  2 роки тому +2

      네. 노력하고 좋은 경험을 많이 쌓으시면...

  • @euns8565
    @euns8565 2 роки тому

    5:40 여기서 얘기하는 컴파일시 튜플을 뭐라고 검색해야 찾아볼 수 있을까요?

  • @DalasYoo
    @DalasYoo 3 роки тому +4

    요즘 cpu는 투기적으로 실행합니다. 그래서 아무리 조건문이 걸려 있다 하더라도 그냥 뒷단의 명령어를 투기적으로(?) 실행합니다. 만약 투기적으로 수행한 명령어가 실행하지 말아야 하는 명령어라면 파이프라인을 flush합니다.
    만약 명령어 실행이 적중했다면 그냥 명령어를 처리하게 됩니다.
    그렇기에 if문, switch문에 의한 실행 저하는 생각보다 크게 나타나진 않을 거에요. 차라리 cache miss를 적게 만드는 게 더 performance critical 할 것으로 생각됩니다.

    • @포프티비
      @포프티비  3 роки тому +5

      그게 branch prediction이며 그거에 틀릴때마다 파이프라인 깊이만큼 스톨이 발생합니다. 따라서 브랜치 프리딕션이 틀릴때마다 성능저하가 발생합니다.
      상황따라 다르지만 이것때문에 성능 25프로 느려지는 함수를 최근에 최적화 한뒤 만든 비디오입니다.

  • @raphaellee7835
    @raphaellee7835 3 роки тому +2

    이런 노하우야 말로 지혜가 아닐까...
    고수가 될 때까지 열심히 공부하는 수 밖에 없겠네요. 잘 배우고 갑니다. :)

    • @포프티비
      @포프티비  3 роки тому +1

      업계에 있으면 동료를 통해 한번쯤은 듣게되는 이야기들이죠. 그걸 그냥 넘어가는 이해하고 열심히 적용해서 내 걸로 만드느냐 차이겠죠. :)

  • @양민-u1h
    @양민-u1h 3 роки тому +1

    웹 개발자라서 그런지 해당경우가 잘 이해가 안갑니다. for문안에서 if문 돌리는 경우가 가장 흔하지 않나요?? ex) 목록에서 항목 필수값 체크 같은게

    • @포프티비
      @포프티비  3 роки тому +5

      for문안에서 if문 돌리는 경우 흔합니다. ('가장' 흔하지는 않은 것 같습니다)
      비디오에서 말한 경우는 if문 체크를 할 필요가 없을때까지 하는 경우입니다. 이런식으로 코드 작성하시는 분들도 있거든요
      for (int i = 0; i < count; ++i)
      {
      if (i != 0)
      {
      // do something
      }
      }

    • @이지후-w8v
      @이지후-w8v 2 роки тому

      @@포프티비 위와같이 if로 여러조건걸면 느려진다는거죠?조건을 일일이 다체크하게되니깐요?

  • @dev-sr1rq
    @dev-sr1rq 3 роки тому +4

    외주하다가 63중 else if문 봤는데 레전드였음

    • @포프티비
      @포프티비  3 роки тому +7

      이왕이면 2의 거듭제곱 맞춰서 64로 하지

    • @dev-sr1rq
      @dev-sr1rq 3 роки тому

      @@포프티비 그럼 cpu최적화!?

    • @g2ang12
      @g2ang12 3 роки тому

      제가 아직 너무 모르는 데, else if 가 너무 많으면 어떻게 처리하는 게 효율적인가요?

    • @g2ang12
      @g2ang12 3 роки тому

      단순히 switch-case 문으로 대체하면 되는 건가요?

    • @이지후-w8v
      @이지후-w8v 2 роки тому +1

      @@g2ang12 2가지조건이나 3가지 조건부터 뺍니다
      그담에 2~3개 안에 넣어버립니다

  • @crackingtheobject1021
    @crackingtheobject1021 3 роки тому

    굉장히 흥미롭네요.. 따봉

  • @aiden9990
    @aiden9990 3 роки тому +1

    감사합니다 대학생때부터 가끔 보았는데 오랜만에 들어왔습니다. 벌써 3년차 개발자네요 잘보겠습니다!

    • @포프티비
      @포프티비  2 роки тому +1

      아직도 개발이 재밌으시죠?

  • @phoenix2718Utube
    @phoenix2718Utube 3 роки тому +1

    포큐아카데이 강의 들으면 이런게 수두륵한가요...?

    • @포프티비
      @포프티비  3 роки тому +2

      수두룩은 아니고 이런 고민을 할 기본은 훈련시켜드립니다. (+_+)

  • @adol2501
    @adol2501 3 роки тому +3

    아 빨리 포큐아카데미 수강해야는데 ~
    듣고만 있어도 시니어 된 느낌 ㅎㅎ
    잘 봤숩니다~

  • @김민규-i4c7c
    @김민규-i4c7c 2 роки тому +1

    switch 대신 배열로 만들면 처음에 분기가 하나 없어서 더 빠르지만 이상한 값이 들어오면 터지는 코드를 만들 수 있네요 근데 이건 분기예측이 쉬울 거 같은데 얼마나 오버헤드가 있는지 궁금해집니다

    • @포프티비
      @포프티비  2 роки тому

      Switch의 case하나마다 분기문이라... 한번이 아닐 수 있어요

    • @김민규-i4c7c
      @김민규-i4c7c 2 роки тому

      @@포프티비 헉 그럴 수도 있군요

  • @satxsa
    @satxsa 3 роки тому +1

    HDL도 gate숫자 차이가 많이 납니다.

  • @scenes_works
    @scenes_works 3 роки тому +2

    ㅋㅋㅋ
    포프님 코딩이야기할때 눈이
    아이같습니다 ㅋㅋㅋ

  • @forceurauns7350
    @forceurauns7350 3 роки тому

    북미쪽에도 인공지능 아직
    유망한가요? 인공지능쪽이
    유행과 쇠퇴기가 좀 반복해서
    일어나서요

    • @포프티비
      @포프티비  3 роки тому

      머신러닝 프로그래밍을 말씀하시는 거면 계속 유망합니다. 데이터 사이언티스트 말씀하시는 거면 쇠퇴기입니다. (이건 제가 몇년전부터 그럴거라고 계속 말씀드린 부분)
      북미나 한국이나 이 부분은 다른 점이 없다고 봅니다

    • @forceurauns7350
      @forceurauns7350 3 роки тому

      데이터사이언스쪽 진로 생각도 해보고 ai 쪽도 생각해보는데
      데이터사이언티스트는 왜 쇠퇴기인지 혹시 관련영상이 어디있는지 여쭙고싶습니다

  • @westgunner8919
    @westgunner8919 3 роки тому

    포프님 bcit를 싸게가려면 교환학생이 좋은가요? 아니면 그냥 이민이 좋은가요

  • @Adepten-mn2lb
    @Adepten-mn2lb 3 роки тому

    따끈따끈한 영상ㄷㄷ

  • @Nox_populi
    @Nox_populi 2 роки тому

    포프TV 비디오 중에 제일 잘생긴 동영상

  • @ojiropkor5144
    @ojiropkor5144 3 роки тому +1

    프로그래머도 아닌데 계속 보게되는건 무슨이유일까요..

  • @BLACKPINK_OfficiaI
    @BLACKPINK_OfficiaI 3 роки тому +2

    천잰가...

  • @하성호-h4b
    @하성호-h4b Рік тому

    감사합니다.

  • @haemilhwang7895
    @haemilhwang7895 2 роки тому

    잘봤습니다

  • @dongminjeong8039
    @dongminjeong8039 3 роки тому +1

    뭔가 들었는데 왜 제 머리에는 안들어오는걸까요 ㅠㅠ

    • @포프티비
      @포프티비  2 роки тому

      휘발성 메모리라 하죠...(응?)

  • @나서스연구원
    @나서스연구원 3 роки тому

    얼마만의 프로그램얘기야

  • @초록송아지-t7u
    @초록송아지-t7u 3 роки тому +1

    파이썬, php같은 인터프리터는 해당안되겠죠?

    • @johnnysvlog4487
      @johnnysvlog4487 3 роки тому

      PHP는 룩업테이블을 만들어서 성능 빠르게 할 수 있습니다.

    • @포프티비
      @포프티비  3 роки тому

      컴파일러만 괜찮다면 웬만한 if문도 룩업테이블로 만들어줍니다. 어셈블리어에서는 if와 switch 차이가 없거든요.

  • @IcoRayner
    @IcoRayner 3 роки тому +1

    이게 되네

  • @markoh7915
    @markoh7915 3 роки тому

    재밌다 감사합니다

  • @westgunner8919
    @westgunner8919 3 роки тому

    포프님 혹시 포프tv개인 메세지도 보시나요 고민을 보내봤는데요...

    • @포프티비
      @포프티비  3 роки тому

      고민 상담은 일정요건이 되지 않는한 해드리지 않습니다. (그리고 그 요건 충족하시고 질문하시는 거의 보자 못했고요)

    • @westgunner8919
      @westgunner8919 3 роки тому

      @@포프티비 알겠습니다.

  • @dk3061
    @dk3061 3 роки тому

    포프님 더 잘생겨졌어요 >3

    • @포프티비
      @포프티비  3 роки тому

      아 좀더 빨리 늙을 걸.... 🤭

  • @tttyyycc4176
    @tttyyycc4176 3 роки тому

    포프성님 참 잘생기셨어

  • @민서김-o4x
    @민서김-o4x 3 роки тому

    저는 고1인데 배울수있는곳이 따로 있나요? 도대체 이런건 어디서 배우나요?

    • @부추-m5c
      @부추-m5c 3 роки тому +1

      대학교에서 배웁니다

    • @wjc3920
      @wjc3920 3 роки тому

      @@부추-m5c ㅋㅋㅋㅋ 현답

    • @포프티비
      @포프티비  2 роки тому

      컴구조 과목...

  • @JDudeChannel
    @JDudeChannel 3 роки тому

    GPU쪽에서 유독 따지는 건지 알았는데..

  • @dddo6216
    @dddo6216 3 роки тому

    뭔 얘기인지 이해는 잘 안되지만 잘봤어요 하핳

    • @포프티비
      @포프티비  2 роки тому

      그렇게 봐주시는 게 저도 맘이 편합니다

  • @이름-i6q5j
    @이름-i6q5j 3 роки тому +2

    경력20년 vs 포프tv 시청자

  • @ThePtwd
    @ThePtwd 3 роки тому

    아 일단 저장 ㅎㅎ

  • @주정열-n4p
    @주정열-n4p 3 роки тому

    윽 2등!

  • @ksl5601
    @ksl5601 3 роки тому +2

    죄송하지만 제 댓글에 좋아요 좀 .....

  • @Pushing_Daisies_
    @Pushing_Daisies_ 9 місяців тому

    2024-0127-1437 1