드디어 Python 3.13.0 에서 GIL이 해제 되었다. Python 3.13.0 으로 멀티쓰레딩 성능 테스트를 해보려 했지만, 실패했다.찾아보니, 일반 CPython 3.13 에선 아직 안되고, GIL을 해제하여 빌드 된 CPython을 사용해야 한다.pyenv 를 활용하여 GIL이 해제된 CPython을 구해보자pyenv install 3.13t-devpyenv shell 3.13t-devpython3 --version # Python 3.13.0+ 형식으로 나오면 성공 GIL이 해제되어 성능이 싱글 쓰레드 그렇다면 8코어 8쓰레드 M3 기준 CPU를 잘 갈구는지 확인해보자 테스트 코드import mathimport multiprocessingimport sysimport sysconfigi..
채용 과정에 도움이 되길 바랍니다.전체 일정일정날짜서류 접수2024.03.11 ~ 2024.03.18서류 결과2024.04.05코딩테스트2024.04.14코딩테스트 결과2024.05.10면접2024.05.24면접 결과2024.06.11채용검진2024.06.17채용검진 결과2024.06.27 서류 접수서류는 직무에 맞게만 작성한다면 크게 어렵지 않습니다.하지만 이후 면접에서 매우매우 비중이 높기 때문에 미리 미리 써서 퇴고 하시길 바랍니다. 저는 정말 급하게 써서 얼렁뚱땅이어서 이후에 매우 불안했어요. 코딩테스트이 단계에서 가장 많이 걸러지게 되는 거 같습니다. 저도 삼성 코테만 3번만에 통과했습니다. 삼성 코딩테스트는 코드트리 활용하시면 좋습니다.코딩테스트 장소는 용인 서천인재개발원이었는데, 주말이라면..
파이썬 자료구조 특징특징ListDictionarySetTuple순서 유지OPython 3.7 부터 OXO인덱싱OXXO변경 가능성OOOX중복 허용O키는 중복 불가, 값은 가능XO데이터순차 데이터 키-값 쌍 데이터 고유한 요소 집합불변 데이터 GIL(Global Interpreter Lock)Python 매커니즘으로 여러 스레드가 동시에 실행되는 것을 방지 → 한 번의 하나의 스레드만 실행됨목적메모리 관리 - 참조 카운트를 통해 가비지 컬렉터를 작동하는 데, 이 부분이 race condition에 취약함, 이를 해결간소화 - 다중 스레드 환경에서 데이터 무결성을 유지장점GIL로 다중 스레드 환경의 복잡한 문제를 쉽게 해결 → 그냥 스레드를 잠궈버림메모리 관리 문제를 해결하여 데이터 무결성 유지단점병렬성 제..
파이썬 GIL이란?파이썬은 다른 언어 (C++ or Java)의 멀티쓰레드와 다른 점이 있다. 멀티 쓰레드가 멀티 쓰레드가 아니다 무슨 말이냐 하면 동시성을 만족하지 못한다.위의 그림처럼 쓰레드를 3개로 나누어 실행하더라도 GIL를 가진 쓰레드만 실행되고, 나머지 쓰레드는 GIL release 되기를 기다린다.동시성을 갖기 위해서는 멀티 프로세싱을 활용해야 한다. 다만 멀티 프로세스는 멀티 쓰레드에 비해 오버헤드나 데이터 교환 어려움 등의 단점이 있다. 멀티 쓰레드의 사용사실상 CPU 코어나 쓰레드를 못굴리는데, 멀티쓰레드를 언제 사용하냐I/O Bound를 해결할 때 사용한다. DB, API, UI 등의 작업들은 CPU 작업 속도에 비해 현저히 느리기에 CPU 입장에서는 I/O 요소들로 인해 작업 손실을..
회사에서 Pandas와 Numpy 를 통해 대용량 로그 파일을 처리하는 데, 비이상적으로 긴 응답 시간을 해결한 내용을 기술한다.선 3줄 요약Pandas 인덱스 접근 함수는 at이 가장 빠르다Pandas의 DataFrame 각 cell별 업데이트가 아닌 Numpy의 array로 행을 만들어 교체가 더 빠르다.Pandas의 DataFrame → Numpy의 ndarray 대체가 더 빠를 수 있다. Pandas vs Numpy 보통 파이썬에서 행렬 데이터를 처리하면 Pandas가 가장 먼저 검색되고 예시가 많다.하지만 읽기/쓰기 작업이 빈번하다면 Pandas의 DataFrame 보단 Numpy의 ndarry가 성능면에서 더 좋다.https://www.geeksforgeeks.org/difference-b..
누군가에겐 5개월이면 끝나는 일정이지만,하고 싶은 공부만 하다 보니 정처기 고시로 전락했다. 가채점 결과, 대략 80점 으로 정보처리기사 고시를 졸업했다. 정보처리기사 느낀 점1. 반드시 한 사이클에 끝내자장수생이 되면서 힘들었던 점이 3개가 있다.시험을 한번 떨어지면 다음 시험까지 기간이 길어, 늘어지기 쉽다.Qnet의 시험 접수는 불편해서, 원하는 시험장 자리 잡는 것은 수강 신청급으로 힘들다.매 시험마다 주말을 소모해야 한다. 직장인에게 주말 하루는 매우 컸다.2. 필기 공부 방법전공자 및 현업자 기준으로 교재는 필요없고, 기출 문제 풀어보고 가면 된다.본인이 활용한 사이트 정보처리기사 필기 기출문제 전자문제집 CBT - 최강 자격증 기출문제 전자문제집 CBT정보처리기사 필기 기출문제 전자문제집..