我有這個結構的100K +條目的tailq:性能çtailq隊列替代問題
struct entry {
char *file_name;
FILE *file;
TAILQ_ENTRY(entry) tailq;
};
目的是存儲數千文件指針爲應用程序創建的文件數千附加的東西給他們。
在tailq每提高我有一個foreach:
int c;
char temp[20];
struct entry *np;
TAILQ_FOREACH(np, &tailq_head[y], tailq) {
if(strcmp(np->file_name, temp) == 0){
c = 1;
break;
}
}
,搜索已經是在tailq一些臨時的名稱,如果不是尾部再加入ID,否則不執行。
如何提高性能?我可以使用哪種更快的結構?我應該計算一個整數哈希值的臨時變量來比較foreach嗎?想法?
文件的順序是否重要? – 2012-02-16 21:57:00
@MarceloCantos no – 2012-02-16 22:01:04