프로그래밍

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
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
181008 [잡담] 5090 FE는 커질까 작아질까? 2 GNStout 0 2 시간 전 67
181007 [잡담] 씨퓨야 왜이러는거니 5 함박눈 0 2 시간 전 48
181006 [견적] i5 9400f 에서 라이젠 7500f로 갈까 7600으로 갈까가 고민 5 갤럭시울리 0 3 시간 전 68
181005 [컴퓨터] 18TB HDD 선택. 외장 vs HDD에 도킹스테이션? 2 4man 0 3 시간 전 71
181004 [컴퓨터] 이거 뭐가문제같음 3 아기모코코에오 0 3 시간 전 38
181003 [컴퓨터] 전설의 타격감 키보드 화이트커피 0 4 시간 전 117
181002 [모바일] 베드사이드 태블릿 가성비 좋은거 추천좀 9 드웨인토마스 0 8 시간 전 113
181001 [컴퓨터] 네트워크 질문 7 너가전부옳아 0 8 시간 전 79
181000 [잡담] RTX3080 사왔당 13 빠빠양 2 9 시간 전 437
180999 [정보] 믹스오디오 1개월 무료 이용권 쿠폰 코드 공유합니다. beckysky 0 9 시간 전 58
180998 [컴퓨터] 컴퓨터 조립 후 메인보드 하얀 불 6 고끼리코추 0 10 시간 전 166
180997 [컴퓨터] 케이블타이 없는데 고무줄로 선정리 해도됌? 5 가스라이팅세계챔피언 0 10 시간 전 131
180996 [컴퓨터] 렘 질문좀요 11 rhrry123 0 11 시간 전 60
180995 [정보] 노트북 램 궁금해서 물어 봅니다. 컴알못임 ㅠ 4 이거할려고존버함 0 11 시간 전 75
180994 [프로그래밍] 클라가 파이썬 셀레니움같은거 써서 클릭하고 그러는걸 감지 ... 5 리옴므 0 12 시간 전 126
180993 [잡담] 웨스톤 오디오 마하60 결국 지름 1 참잘했어요 0 12 시간 전 80
180992 [잡담] ㅈ소중에는 깃관리안되는회사가 있겠지 7 도의지구 0 12 시간 전 181
180991 [컴퓨터] 올블랙 PC 세팅하려고 하는데 1 올해의목표 0 12 시간 전 119
180990 [프로그래밍] leetcode 50일 달성 JimmyMcGill 0 13 시간 전 115
180989 [컴퓨터] 내컴퓨터 왼쪽이 자꾸 영어로 변해 5 개돼지무한리필 0 13 시간 전 146