microsoft / microsoft/ebpf-for-windows

BPF_MAP_TYPE_LPM_TRIE read operation cost higher on Windows vs Linux

Open
#2,790 0 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_LPM_TRIE_1K read,503,487
BPF_MAP_TYPE_LPM_TRIE_1K update,1136,1141
BPF_MAP_TYPE_LPM_TRIE_1K replace,1740,1751
BPF_MAP_TYPE_LPM_TRIE_16K read,569,573
BPF_MAP_TYPE_LPM_TRIE_16K update,1189,1191
BPF_MAP_TYPE_LPM_TRIE_16K replace,1855,1861
BPF_MAP_TYPE_LPM_TRIE_256K read,894,889
BPF_MAP_TYPE_LPM_TRIE_256K update,1547,1569
BPF_MAP_TYPE_LPM_TRIE_256K replace,2308,2324
BPF_MAP_TYPE_LPM_TRIE_1M read,1489,1494
BPF_MAP_TYPE_LPM_TRIE_1M update,1724,1739
BPF_MAP_TYPE_LPM_TRIE_1M replace,2559,2591
```

Linux:
```
BPF_MAP_TYPE_LPM_TRIE_1K read,128,128
BPF_MAP_TYPE_LPM_TRIE_1K update,540,541
BPF_MAP_TYPE_LPM_TRIE_1K replace,2037,2041
BPF_MAP_TYPE_LPM_TRIE_16K read,237,234
BPF_MAP_TYPE_LPM_TRIE_16K update,1554,1553
BPF_MAP_TYPE_LPM_TRIE_16K replace,2704,2703
BPF_MAP_TYPE_LPM_TRIE_256K read,709,697
BPF_MAP_TYPE_LPM_TRIE_256K update,2822,2820
BPF_MAP_TYPE_LPM_TRIE_256K replace,4097,4093
BPF_MAP_TYPE_LPM_TRIE_1M read,1020,1033
BPF_MAP_TYPE_LPM_TRIE_1M update,3413,3408
BPF_MAP_TYPE_LPM_TRIE_1M replace,4774,4779
```

Contributor guide

Open the contributing guide

Research direction

The issue contains only Windows and Linux benchmark results and names no source files or tests. Start by locating the BPF_MAP_TYPE_LPM_TRIE read implementation and its platform-specific paths, then compare the benchmark setup on both systems. Done means identifying and addressing the read-cost discrepancy, with updated benchmarks showing the result.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux
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.