microsoft / microsoft/ebpf-for-windows

BPF_MAP_TYPE_LRU_HASH operation cost higher on Windows vs Linux

Open
#2,789 2 comments 0 reactions 0 assignees View on GitHub
help wanted optimization triaged
Dominant language
C
Stars
3.6k
Forks
311
Avg merge
6d 10h
Merged PRs (30d)
21

Description

Windows:
```
BPF_MAP_TYPE_LRU_HASH read,469,469
BPF_MAP_TYPE_LRU_HASH update,1572,1581
BPF_MAP_TYPE_LRU_HASH update/read,1197,363
BPF_MAP_TYPE_LRU_HASH replace,2146,2155
BPF_MAP_TYPE_LRU_PERCPU_HASH read,497,495
BPF_MAP_TYPE_LRU_PERCPU_HASH update,529,520
BPF_MAP_TYPE_LRU_PERCPU_HASH update/read,503,487
BPF_MAP_TYPE_LRU_PERCPU_HASH replace,2448,2423
BPF_MAP_TYPE_LRU_HASH rolling update,259,243
```

Linux:
```
BPF_MAP_TYPE_LRU_HASH read,37,37
BPF_MAP_TYPE_LRU_HASH update,536,536
BPF_MAP_TYPE_LRU_HASH update/read,206,90
BPF_MAP_TYPE_LRU_HASH replace,544,541
BPF_MAP_TYPE_LRU_PERCPU_HASH read,39,39
BPF_MAP_TYPE_LRU_PERCPU_HASH update,199,200
BPF_MAP_TYPE_LRU_PERCPU_HASH update/read,160,63
BPF_MAP_TYPE_LRU_PERCPU_HASH replace,588,588
BPF_MAP_TYPE_LRU_HASH rolling update,104,106
```

Contributor guide

Open the contributing guide

Research direction

Reproduce the listed BPF_MAP_TYPE_LRU_HASH and BPF_MAP_TYPE_LRU_PERCPU_HASH read, update, replace, and rolling-update timings on Windows and Linux. Compare the operations and identify where the Windows cost differs; the issue names no files, tests, or entry points. Done means explaining the discrepancy and addressing the Windows overhead.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
operating-systems, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.