컴파일러 2

[system programming] program optimization (compiler와 최적화 기법)

본 게시글은서울대학교 데이터사이언스대학원 성효진 교수님의데이터사이언스 응용을 위한 컴퓨팅 시스템 강의를학습을 목적으로 재구성하였습니다이번 시간에 정리할 내용은프로그램 최적화에 관련된 내용이다 컴파일 언어에서는 컴파일러가 우리가 작성한 코드를자체적으로 최적화를 해주는 역할을 한다그렇다면 컴파일러는 어떤 방법으로 최적화를 진행할까?또한 컴파일러 이외에우리가 코드 레벨에서 코드를 작성할 때어떻게하면 최적화된 코드를 작성할 수 있을까?이 프로그램 최적화는 이와 관련된 내용이다 이런 컴파일러의 최적화 과정을 이해해야우리가 어떻게 프로그램을 짜야하는지 알 수 있다고 한다 이번 시간에 배울 목차이다 우리가 보통 알고리즘을 공부할 때는asymptotic complexity라고 해서흔히 빅오 표기법으로 시간 복잡도를 ..

[ComputerScience] 인터프리터와 컴파일러

이 게시글은서울대학교 데이터사이언스 대학원조요한 교수님의데이터사이언스 응용을 위한 컴퓨팅 강의를학습을 목적으로 재구성하였습니다.첫 번째 강의는 교수님의 이전 강의 내용복습에 관한 내용이었다 간단하게 정리해보고자 한다 인터프리터와 컴파일러Python은 대표적인 인터프리터 언어고C는 대표적인 컴파일러 언어이다그럼 인터프리터와 컴파일러는 무엇이며이 두개는 어떤 차이가 있을까?  인터프리터와 컴파일러는공통적으로 코드를컴퓨터가 알아들을 수 있는 명령어로변환해주는 역할을 한다 옛날부터 배웠을텐데컴퓨터가 알아듣는 건0과 1 뿐이다 우리가 python이나 c언어로 코드를 작성하면python은 인터프리터c언어는 컴파일러를 통해서컴퓨터가 이 파일을 이해하고 실행할 수 있는0과 1의 명령어로 바꾸어준다 이제 코드를 이진수로..