프로그래밍

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
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
5702 [프로그래밍] Aws 람다에 파이썬 올려서 결과 받아오는데 11 아르피쥐 0 18 시간 전 202
5701 [프로그래밍] 마리아DB mediumtext 그냥 쓰고 싶은데 21 잉텔 0 1 일 전 163
5700 [프로그래밍] 안드로이드 씹뉴비 질문이요 2 집에가게해줘 0 1 일 전 98
5699 [프로그래밍] c언어 7년했는데 이런게 되는거 처음알았음.. 4 케로로중사 0 2 일 전 664
5698 [프로그래밍] 파이썬 1도 모르는데 GPT로 프로그램 뚝딱 만듬 2 푸르딩딩 1 6 일 전 596
5697 [프로그래밍] 담주 면접잡혔는데 8 삐라루꾸 0 6 일 전 361
5696 [프로그래밍] 아두이노 부트로더를 구웠는데.. 4 렙이말한다ㅡ니가옳다 0 6 일 전 217
5695 [프로그래밍] IOS 개발자 있나여? 1 g4eng 0 9 일 전 238
5694 [프로그래밍] 시스템 디자인 인터뷰 준비 도움좀!!! 1 Nognhyup 0 9 일 전 189
5693 [프로그래밍] 최근에 vscode 쓴 사람 도움! 3 172102 0 10 일 전 437
5692 [프로그래밍] 책을 또 사버리고 말았다... 1 찰나생멸 2 11 일 전 427
5691 [프로그래밍] 윈도우 부팅화면 봐주실분 1 바나나맛두부 0 13 일 전 233
5690 [프로그래밍] 아 시발 퇴사마렵다 9 인간지표 0 14 일 전 592
5689 [프로그래밍] C#이 ㅈ사기 언어인 이유 19 ye 6 15 일 전 1173
5688 [프로그래밍] 요즘 모바일 개발은 어떤 걸 사용하나요? 14 커피좋아용 0 17 일 전 533
5687 [프로그래밍] 취준생 안드로이드 팀플 주제 머할까요... 8 조강현 0 17 일 전 289
5686 [프로그래밍] 공통코드테이블은 대체 왜 만드냐 9 잠적자 0 19 일 전 605
5685 [프로그래밍] 토이프로젝트 주제 선정 3 개드립눈팅1세대 0 19 일 전 283
5684 [프로그래밍] 엥 구글 플러터 유기각 재는거임?? 4 최수연 0 21 일 전 563
5683 [프로그래밍] 반도체 장비 업계인 있음? 9 캡틴띠모 0 22 일 전 431