.
1. 자료를 구하고 있습니다.
c++로 구하는건 그렇게 어렵지 않지만 - 어쩌면 어려울 수도... - 델파이 관련 자료는 구하기가
쉽지가 않더군요. 예전에 비슷한 자료를 구해다가 하드에 저장해둔거 같은데 아무리 찾아도
없습니다. 도와 주십시요.
2. 컨테이너를 구하고 있습니다.
BinaryTree, BlackWhiteTree, HashTree, Queue등이 아주잘~ 구현되어 있는 컨테이너를
구하고 있습니다.
3. 아주 잘~ 만들어져 있으면 좋겠습니다.
컨터이너를 만들어 보시거나, 정밀하게 사용해보신 경험이 있으신 분들은 아시겠지만 이런것
들은 아주 조그만 코드 하나 하나에 의해 성능이 크게 좌우 됩니다.
이런 잘 정의된 컨테이너는 쉽게 구할 수 있는게 아니더군요. 예를 들자면 Jedi JCL에 포함된
컨테이너가 있는데, 이것은 성능면에서 만족할 만한 수준이 아닙니다. class로는 잘 구현되어
있지만 성능은 "영~ 아닙니다" 입니다.
기타 몇가지 컨테이너를 사용해 보았지만 만족할 만한 성능을 내는것은 없어서, 필요할 때마다
만들어서 사용하고 있는 실정입니다. 하지만 그것도 한계여서 범용성 있게 만들면 성능이 부족
하고 성능에 치중하다 보니 범용성에 한계를 만나는 동시에 수정하기 여간 까다로운게 아닙니다.
그래서 이참에 여러 고수님들의 도움을 구하고자 합니다.
4. 잘~ 만들어진 것의 기준이란
4-1. TList에서 사용하는 Block할당 & Capacity 기법을 사용해서 각 Item들을 관리하는 컨테이너
여야 합니다.
4-2. 레지스터 스위칭의 오버헤드를 줄이기 위해, OOP가 아닌 구조체로 컨테이너, Item의
인스턴스가 관리되고, 이것들이 thread safe하게 동작하도록 설계되어야 합니다.
4-3. 문자열 indexing과 검색이 foxpro의 rush-more 정도의 성능이 나는 기법이 있으면 좋겠습
니다.
4-4. 중요한 item은 문자열에 포커스를 맞추었으면 좋겠습니다. 결과적으로, 문자열을 보관하고
index하고 검색하는데 탁월한 성능을 보였으면 좋겠습니다.
4-5. 기타 등등... 여튼 빨랐으면 좋겠습니다. ^^a
5. 이런게 소스공개된 프리가 있을라나?
5-1. c/c++로 이런 자료를 구하기도 어렵겠지만, 사용자층이 얇은 파스칼에서 이런것을 구하기는
하늘의 별따기 겠죠? 그래도 구하고 싶습니다. 파스칼로 구현된 소스코드를
5-2. 분명히 소스공개된 프리는 없을테니, 소스공개된 상용이라도 상관없습니다. 이런 잘 구현된
상용이라면 조금 가격이 비싸더라도 사서쓸 생각이 있습니다.
6. 혹시라도 c/c++로 이런 소스를 보신적은 없습니까?
c/c++을 많이 하셨던 분이라면 이런 소스를 보신적이 있을지도 모르겠습니다. 하지만, 일반적인
STL을 추천하고 싶으시다면 참아 주십시요. STL소스를 찬찬히 들여다 보신분들은 아시겠지만, STL
이 가지는 한계 - RTTI의 복잡성/비대함, 복잡한 class구조... 등 - 때문에 상당한 실행시간의 오버
헤드를 감수 해야 합니다.
겉보기는 STL이지만, 내부적인 구조는 속도위주로 설계된 것이 있다면 알려 주시면 감사하겠습니
다.
여튼, 좋은 c/c++ 소스를 알고 계신 고수분은 좀 도와주십시요.
7. 소스가 없다면, 못 구한다면, 만들어야 겠죠? ㅠ.ㅠa
위에 언급한 코드를 직접 코딩해서 만드려면 아무래도 만만찮은 시간이 필요할 것 같습니다.
저 혼자 만들어서 혼자 써도 되지만, 이 참에 개발자들 끼리 모여서 sourceforge에서 같이 작업해 보는
것도 좋을듯 합니다.
999. 마무리
최고의 고수님들, 좋은 답을 기다리겠습니다. ^^a
.
|
#include <IniFiles.hpp>
THashedStringList class 입니다.
문자열 기준으로 검색이 가능하고, Hash 나 기타 데이터 저장및 검색에 관련된 부분은 wrapping 되어 있기 때문에 신경쓸일 없고 안정성이야 지금까지 제가 써온 바로는 전혀 나무랄것이 없군요 ^^... AddObject 를 사용해서 containing이 가능합니다.
단... tree 가 아니로군요 ^^: 어떤 용도로 사용하실지는 모르겠지만....
뭐 굳이 만들필요가 있냐는 생각이 든다는;;; __* 즐빌하세요.