json 3

json 평활화 작업을 통한, 멀티스레드 속도 비교(ThreadPoolExecutor)

배경다층구조 json 데이터를 3가지 테이블로, 분리하는 작업 필요.예전 프로젝트 당시 glue를 통한 분산처리를 했었음.그게 최선이었냐는 질문을 받음.로컬에서 빠르게 할 수 있는 방법을 찾아서, 멀티스레드를 적용하기로함.해결과정ThreadPoolExecutor를 적용해 코드 작성for문을 10000번 실행 하는데, 한번에 배치실행수(스레드수)를 조절하며 비교오히려 스레드 수가 작을때, 빠른 현상... 왜지..스레드 수총 소요 시간총 함수 호출 수wait 호출 수acquire 호출 수as_completed 호출 누적 시간113.69 초3,79621513.54 초215.50 초5,207102815.35 초515.23 초7,494106715.07 초1016.33 초11,3342013216.18 초2016.1..

피클(pkl)과 json의 차이.

배경메타 데이터를 저장하는 과정에서 어느 순간 GPT가 피클 저장방식을 권유했다.그래서 메타 데이터를 저장하는 과정에서 피클과 json 저장방식을 비교하고 차이점을 도출한다.피클(Pickle) vs JSON 차이점 비교특징피클(Pickle)JSON언어 지원Python 전용다수의 언어에서 사용 가능 (Python, JavaScript 등)자료형 유지Python 객체의 모든 자료형을 유지기본 자료형만 지원 (str, int, list, dict 등)커스텀 객체 지원클래스 인스턴스, 함수 등 복잡한 객체도 직렬화 가능지원하지 않음 (직접 처리 필요)직렬화 속도바이너리(b) 형태라 상대적으로 빠름텍스트 형태라 상대적으로 느림파일 크기피클은 객체 구조 전체를 직렬화하므로 더 클 수 있음텍스트 형식으로 상대적으로 ..

사용툴 분석 2024.10.03

pickle과 json 비교

pkl 파일은 Python에서 객체를 직렬화(serialize)한 데이터를 저장하는 파일 형식입니다. 이 파일은 Python의 pickle 모듈을 사용하여 생성됩니다. 직렬화는 Python 객체를 바이트 스트림으로 변환하는 과정이며, 이를 통해 객체를 파일에 저장하거나 네트워크를 통해 전송할 수 있습니다. 역직렬화(deserialization)는 바이트 스트림을 다시 원래의 Python 객체로 변환하는 과정입니다.pickle 모듈의 주요 사용 사례객체 저장과 로드:Python 객체(리스트, 딕셔너리, 사용자 정의 객체 등)를 파일로 저장하고 나중에 불러와 사용할 수 있습니다.예를 들어, 복잡한 데이터 구조를 한 번 계산한 후 다시 계산하지 않기 위해 저장할 때 유용합니다.모델 저장:머신 러닝 모델을 학습..

잡다한것 2024.08.28