CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·아이포니앙 ·주식한당 ·방탄소년당 ·MaClien ·일본산당 ·개발한당 ·자전거당 ·AI당 ·이륜차당 ·안드로메당 ·소시당 ·콘솔한당 ·바다건너당 ·소셜게임한당 ·PC튜닝한당 ·키보드당 ·테니스친당 ·물고기당 ·VR당 ·창업한당 ·ADHD당 ·나혼자산당 ·갖고다닌당 ·육아당 ·노젓는당 ·골프당 ·클다방 ·나스당 ·냐옹이당 ·IoT당 ·어학당 ·레고당 ·방송한당 ·라즈베리파이당 ·달린당 ·여행을떠난당 ·3D메이킹 ·X세대당 ·AI그림당 ·날아간당 ·사과시계당 ·배드민턴당 ·야구당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·캠핑간당 ·문명하셨당 ·클래시앙 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·디아블로당 ·개판이당 ·동숲한당 ·날아올랑 ·전기자전거당 ·e북본당 ·이브한당 ·패셔니앙 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·젬워한당 ·걸그룹당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·KARA당 ·꼬들한당 ·덕질한당 ·가죽당 ·리눅서당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·영화본당 ·MTG한당 ·소리당 ·노키앙 ·적는당 ·찰칵찍당 ·그림그린당 ·소풍간당 ·심는당 ·패스오브엑자일당 ·품앱이당 ·리듬탄당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·스타한당 ·스팀한당 ·파도탄당 ·퐁당퐁당 ·테스트당 ·빨콩이당 ·공대시계당 ·터치패드당 ·트윗당 ·가상화폐당 ·시계찬당 ·WebOs당 ·위스키당 ·와인마신당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

팁과강좌

PC/모바일 ChatGPT, 코드인터프리터의 성능을 압도적으로 높이기 (파이썬 대신 C언어 사용) 6

8
2023-08-19 02:07:09 58.♡.176.86
코드깎는노인

안녕하세요. 유튜버 코드깎는노인입니다.

ChatGPT에는 코드인터프리터라는 멋진 기능이 있습니다.


기존의 GPT-4 default 에서는 코딩만 해줄 수 있었다면, 코드인터프리터에서는 AI에 의해 작성된 코드를 대화세션마다 할당된 컴퓨터에서 실제 실행까지 할수 있는 환경이 갖춰지게됐죠.

코드인터프리터에서는 기본적으로 AI는 파이썬 코드를 작성하고 실행해줍니다.

그런데 때로는 큰 연산작업이 필요할 수도 있는데요, 연산량이 커질수록 파이썬코드의 수행속도는 늦어지게되지요.

코드인터프리터는 확인해본 바로 코드의 수행시간이 너무 길어져 60초를 넘어가게되면 timeout되어 종료되버립니다.

따라서 이럴때 처리속도를 압도적으로 향상시켜서 빠르게 처리할 수 있는 방법을 이야기드리고자합니다.


기본적인 아이디어는 파이썬은 느리니 씨언어를 사용하자입니다.

코드인터프리터에 할당되는 컴퓨터에는 gcc가 내장되어있습니다.

다음과 같이 확인해볼 수 있지요.

aaa.jpg

gcc는 C언어로 작성된 소스코드를 실행가능한 형태의 실행파일로 만들어주는 역할을 하는 프로그램입니다.


그래서 C언어와 파이썬으로 각각 1백만번의 연산을 했을때 각각에서 얼마나걸리는지를 비교해보는 미션을 수행해달라고 요청해보도록 하겠습니다. 이 과정에서 코드인터프리터는 씨언어로 코드를 작성하고 gcc로 컴파일하여 실행하게됩니다.

aaa1.jpg

aaa2.jpg

이렇게해서 subprocess를 통해 gcc를 실행하여 컴파일하고 컴파일된 실행파일을 마찬가지로 subprocess를 통해서 실행하는 방법으로 씨언어로 작성된 코드를 실행할 수 있습니다.

1백만번의 반복은 씨언어로 할때에는 0초에 수렴하는 수행시간이 측정되었습니다.


다음은 파이썬으로의 구현입니다.

aaa3.jpg

씨언어로 수행했을때의 시간이 0초라서 비교가 어려우니 1백만번이 아닌 1억번으로 반복량을 늘려서 다시 테스트해보겠습니다

aaa4.jpg

이번엔 씨언어로 1억번 반복에 0.21초가 걸렸습니다.

aaa5.jpg

파이썬의 경우는 11.8초가 걸렸습니다.

이는 56배의 차이입니다.

그런데 참고할 것은 이 결과를 통해 씨언어는 파이썬보다 56배빠르다고 생각할 수는 없습니다.

무엇을 하느냐에 따라서 이 차이는 좁혀질수도 있고 늘어날 수도 있기 때문입니다.

만약 하고자하는 작업의 연산량이 많아서 파이썬으로는 너무 느릴 경우 이와 같은 방법으로 처리를 씨언어로 하도록 해서

더욱 빠르게 효과적으로 해낼 수 있을것으로 기대됩니다.

감사합니다.

코드깎는노인 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [6]
퀘스트바이
IP 218.♡.15.2
08-19 2023-08-19 02:42:03
·
코드인터프리터로 plotly 같은 차트같은걸 구현해달라고하면 코드 작성하다가 계속 오류나서 regenerate 하라고 하더라구요.. 그냥gpt4는 잘 되는데 말이죠.. 그래서 잘 안쓰게 됩니다ㅜㅜ
리누
IP 223.♡.178.48
08-19 2023-08-19 12:41:06 / 수정일: 2023-08-19 12:41:24
·
파이썬도 내부적으로 C로 구현된 코드가 많아서 numpy로 벡터연산 하는 것 같은 작업은 확실히 빠르더라구요.

항상 수십배 빠른건 아니지만, 라이브러리 구현이 아닌 파이썬으로 직접 짠 알고리즘이 들어가면 많이 느려지긴 하더군요.

그런 파이썬도 visual basic보다 또 수~수십배 빨랐던 것 같습니다 ㅋㅋ
블랙보노
IP 223.♡.180.145
08-19 2023-08-19 14:20:34
·
저런 코드(현저히 느린 코드) 최적화가 파이썬 3.10이상 버전에서 이뤄졌습니다 물론 아직도 c보다 느립니다 ㅎㅎㅎ
단순 연산 속도만 봤을때 파이썬을 선택하는건 아쉬운 선택이지만 방대한 라이브러리와 편한게 최고네요 ~_~
바나나쥬스
IP 211.♡.37.146
08-19 2023-08-19 14:44:52
·
성능 향상을 위해 c로 된 프로그램을 컴파일해서 부르면 python과 데이터를 주고 받게 하기가 귀찮더군요.
보통은 cython이 쓰기 쉬워서 많이들 쓰시던데 코드인터프린터에서 지원하는지는 모르겠어요.
보고또또보고
IP 125.♡.114.29
08-20 2023-08-20 00:54:52 / 수정일: 2023-08-20 00:56:49
·
저는 코딩용 챗봇으로 You.com 과 phind.com 을 사용 중이긴 한데 이것도 나중에 유튭영상으로 체크해주셨으면 합니다.
vscode 용으로는 copilot 대신하는 무료의 hugginface의 starcoder를 사용중입니다.

참고:=> https://www.clien.net/service/board/cm_app/18036278CLIEN
eltype
IP 153.♡.69.130
08-22 2023-08-22 23:15:25
·
chatgpt는 파이선은 그나마 그럭저럭 비슷한 코드를 짜주는데
다른 언어들은 이상한 버그가 있거나 컴파일도 안되는 코드를 자꾸 줘서
그냥 검색하는것보다 괜히 시간낭비하는 느낌이었죠..

파이선이 원래 그렇기도 하지만 너무 외부 라이브러리 의존도가 높아서
AI가 코드를 만들었다기 보다는 세상에 있는거 이거저거 검색해서 짜집기해서 주는 느낌이 너무 커서
좀 갈 길이 멀구나 하는 느낌입니다.
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.