Skip to content

Commit

Permalink
Mark patterns used for searching as const in args
Browse files Browse the repository at this point in the history
  • Loading branch information
finwo committed Mar 17, 2024
1 parent 9b0cde1 commit 9703dbc
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 6 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ void mindex_set(struct mindex_t *mindex, void *item);
Simple query, fetch an entry in the index matching the pattern
```C
void * mindex_get(struct mindex_t *mindex, void *pattern);
void * mindex_get(struct mindex_t *mindex, const void *pattern);
```

</details>
Expand Down Expand Up @@ -115,7 +115,7 @@ void * mindex_rand(struct mindex_t *mindex);
Delete a single entry from the index matching the pattern

```C
void mindex_delete(struct mindex_t *mindex, void *pattern);
void mindex_delete(struct mindex_t *mindex, const void *pattern);
```
</details>
Expand Down
15 changes: 15 additions & 0 deletions benchmark.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,25 @@ void mindex_bmark_rstr_1024() {
}
}

void mindex_bmark_rstr_65536() {
for(int i=0; i<65536; i++) {
free(random_str(16));
}
}

void mindex_bmark_assign_1024() {
struct mindex_t *mindex = mindex_init(fn_compare_string, fn_purge, NULL);
for(int i=0; i<1024; i++) {
mindex_set(mindex, random_str(16));
}
mindex_free(mindex);
}

void mindex_bmark_assign_65536() {
struct mindex_t *mindex = mindex_init(fn_compare_string, fn_purge, NULL);
for(int i=0; i<65536; i++) {
mindex_set(mindex, random_str(16));
}
mindex_free(mindex);
}

Expand All @@ -55,6 +68,8 @@ int main() {

BMARK(mindex_bmark_rstr_1024);
BMARK(mindex_bmark_assign_1024);
BMARK(mindex_bmark_rstr_65536);
BMARK(mindex_bmark_assign_65536);
return bmark_run(100, percentiles);
return 0;
}
4 changes: 2 additions & 2 deletions src/mindex.c
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ void mindex_set(struct mindex_t *mindex, void *item) {
free(resp);
}

void * mindex_get(struct mindex_t *mindex, void *pattern) {
void * mindex_get(struct mindex_t *mindex, const void *pattern) {
struct mindex_find_response *resp = mindex_find(mindex, pattern, mindex->items, mindex->length);
void *value = resp->value;
free(resp);
Expand All @@ -160,7 +160,7 @@ void * mindex_rand(struct mindex_t *mindex) {
return mindex->items[rand() % mindex->length];
}

void mindex_delete(struct mindex_t *mindex, void *pattern) {
void mindex_delete(struct mindex_t *mindex, const void *pattern) {
struct mindex_find_response *resp = mindex_find(mindex, pattern, mindex->items, mindex->length);

// Not found = done
Expand Down
4 changes: 2 additions & 2 deletions src/mindex.h
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ void mindex_set(struct mindex_t *mindex, void *item);
///
/// Simple query, fetch an entry in the index matching the pattern
///<C
void * mindex_get(struct mindex_t *mindex, void *pattern);
void * mindex_get(struct mindex_t *mindex, const void *pattern);
///>
/// </details>

Expand All @@ -118,7 +118,7 @@ void * mindex_rand(struct mindex_t *mindex);
///
/// Delete a single entry from the index matching the pattern
///<C
void mindex_delete(struct mindex_t *mindex, void *pattern);
void mindex_delete(struct mindex_t *mindex, const void *pattern);
///>
/// </details>

Expand Down

0 comments on commit 9703dbc

Please sign in to comment.