프로그래밍

C로 HashTable 구현 vs 자바로 컨버팅

씨발 좆같은 일이 생겼다.

 

앞뒤 다짜르고 본론만 이야기 하자면

 

파일을 라인 바이 라인으로 읽어서 배열화 시켜놓고 아이템명 찾아서 특정 값을 매칭하는 로직이 있는데

이게 기존에 구현된 방식이 라인마다 쿼리 날려서 값을 가져 오는 방식이다.

 

근데 이거 기존에는 문제가 없었는데 업무 특성상 그 좆같은 덕지덕지 인터락 추가되면서

시간문제가 생겼다.

 

결과처리 값을 설비로 리턴하면 설비가 대기타다가 추가동작을 하도록 되어 있는데

대기 시간 오버하는 케이스가 나오기 시작했다.

 

그래서 이것저것 생각해봤는데 결과파일이 max 3500라인이라 union all 같은걸로 묶어서 때리는건 도저히 안되고

in처리도 max가 천개기도 하고 그따구로 쿼리짜면 DBA한테 쪼인트 까일거 같아서

 

기준정보를 한번만 쿼리해서 가져다 놓고 라인 읽을 때 마다 매칭하려고 한다.

 

그래 시팔... 해시맵이 필요하다. 근데 이거 순수 C다. 리눅스에서 돌리는 순수 C라서

HashMap 그딴거 없다. 내가 만들어서 써야한다.

데이터도 문자열기반이라 해시펑션도 만들어야 한다.

 

나에게 필요한건 containsKey 메소드 하나인데

이거 때문에 프로세스 자체를 자바로 컨버팅하느냐 vs C로 해시 구현할거냐 선택의 기로에 섰다.

 

니들이라면 어케할거 같냐?

자바로 컨버팅하려면 양산평가 해야하는데 솔직히 할 자신 없고

C로 해시 구현하자니 조오오오오오오오온나 귀찮은데다가 검증할 자신이 없다.

10개의 댓글

2024.01.23

해시 펑션 만드는 게 뭐 대단히 복잡한 일도 아니고... 호들갑 잠시 멈추고 생각을 해바

0
2024.01.24
@숨은음은

맞네 호들갑이다

0
2024.01.23

다 이해하지는 못 했는데

탐색 문제면 탐색 알고리즘 쪽 알아보면 될 거같긴함

 

그 map 컨테이너 비슷하게 만들면 될 듯?

키값이 작은 값은 왼쪽, 큰 값은 오른쪽

 

쭈우우우욱 내려가다가 자식이 없는 노드까지 가면 containsKey가 false 반환하게 하면 될 듯?

 

노드라는 구조체 만들어서

struct Node

{

값 value

Node* leftChild = null;

Node* rightChild = null;

}

 

이렇게 만든후 노드 연결해주셈

 

0
2024.01.24
@RX7900XTX

흠.. 일단 바드나 chatGPT에게 C로 해쉬테이블 만드는 법 물어보셈

전체적인 코드는 못 짜는데 알고리즘은 잘 짬

0

https://opensource.apple.com/source/bash/bash-92/bash-3.2/hashlib.c.auto.html

0
2024.01.24

이미 검증된 hashcode 구현체들도 많고 그거 충돌해봤자 훨 빠르지않나?

1
2024.01.24

C로 합니다 ㅋㅋㅋ

0
2024.01.24

호들갑 떨지마 찾으면 다 있음

0
2024.01.24

씨로하고 검색의 힘으로 해야지

0
2024.01.25

걍 이거 고대로 gpt한테 물어보면 초안 잘 짜줌

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
5711 [프로그래밍] 요즘 앱개발 인력시장 어떰..3년차 2 센치해요 0 1 일 전 245
5710 [프로그래밍] 컴포즈 Box 컴포넌트가 안 나와... 1 집에가게해줘 0 3 일 전 126
5709 [프로그래밍] 아 ssl 적용햇는데 개정신없네 9 넌또화나있네 0 3 일 전 250
5708 [프로그래밍] 패스트 캠퍼스 <---- 얘내는 가격 인상 원툴임? 5 조강현 0 6 일 전 338
5707 [프로그래밍] 클라가 파이썬 셀레니움같은거 써서 클릭하고 그러는걸 감지 ... 5 리옴므 0 7 일 전 224
5706 [프로그래밍] leetcode 50일 달성 1 JimmyMcGill 1 7 일 전 195
5705 [프로그래밍] 그냥 개인공부용 git 만들건데 5 년째재수강 0 7 일 전 285
5704 [프로그래밍] html 자바스크립트 질문 19 책걸이 0 8 일 전 331
5703 [프로그래밍] 아니 시바 이게 무슨일이야 4 인간지표 0 9 일 전 347
5702 [프로그래밍] 아두이노 키트 아무것도 모르고 사도 될까? 6 그것 0 9 일 전 268
5701 [프로그래밍] 횽들 Vimeo에 올라가있는 동영상의 원본크기를 확인할 수 있... 13 카뜨만두 0 9 일 전 193
5700 [프로그래밍] c# 이벤트와 델리게이트 13 RX7900XTX 0 12 일 전 316
5699 [프로그래밍] Aws 람다에 파이썬 올려서 결과 받아오는데 11 아르피쥐 0 13 일 전 356
5698 [프로그래밍] 마리아DB mediumtext 그냥 쓰고 싶은데 21 잉텔 0 14 일 전 226
5697 [프로그래밍] 안드로이드 씹뉴비 질문이요 2 집에가게해줘 0 14 일 전 132
5696 [프로그래밍] c언어 7년했는데 이런게 되는거 처음알았음.. 4 케로로중사 0 15 일 전 988
5695 [프로그래밍] 파이썬 1도 모르는데 GPT로 프로그램 뚝딱 만듬 2 푸르딩딩 1 19 일 전 865
5694 [프로그래밍] 담주 면접잡혔는데 8 삐라루꾸 0 19 일 전 614
5693 [프로그래밍] 아두이노 부트로더를 구웠는데.. 4 렙이말한다ㅡ니가옳다 0 19 일 전 243
5692 [프로그래밍] IOS 개발자 있나여? 1 g4eng 0 22 일 전 265