Skip to content

Commit 6cecdd8

Browse files
committed
Merge remote-tracking branch 'upstream/develop' into develop
2 parents c135155 + 06bddc5 commit 6cecdd8

444 files changed

Lines changed: 38027 additions & 38396 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.clang-tidy-ignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
libCacheSim/dataStructure/robin_hood.h
2+
3+
4+

.github/CODEOWNERS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
* @1a1a11a
2+
* @haochengxia
3+
Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
2-
name: Bug report
3-
about: Create a report to help us improve
4-
title: ''
5-
labels: ''
2+
name: 🐛 Bug report
3+
about: Create a report to help us improve libCacheSim
4+
title: '[BUG]: '
5+
labels: 'bug'
66
assignees: ''
77

88
---
@@ -12,27 +12,28 @@ A clear and concise description of what the bug is.
1212

1313
**To Reproduce**
1414
Steps to reproduce the behavior:
15-
1. Go to '...'
16-
2. Click on '....'
17-
3. Scroll down to '....'
15+
1. Build libCacheSim with: `bash scripts/debug.sh`
16+
2. Run the command: `./_build_dbg/bin/cachesim ...`
17+
3. Provide input parameters and trace file: `...`
1818
4. See error
1919

2020
**Expected behavior**
2121
A clear and concise description of what you expected to happen.
2222

23-
**Screenshots**
24-
If applicable, add screenshots to help explain your problem.
23+
**Environment (please complete the following information):**
24+
- OS: [e.g. Ubuntu 20.04, macOS 12.0, Windows 11]
25+
- Compiler: [e.g. gcc 9.4.0, clang 12.0.0]
26+
- libCacheSim version: [e.g. v0.1.0 or commit hash]
27+
- Build type: [e.g. Debug, Release]
2528

26-
**Desktop (please complete the following information):**
27-
- OS: [e.g. iOS]
28-
- Browser [e.g. chrome, safari]
29-
- Version [e.g. 22]
29+
**Input data**
30+
If applicable, provide:
31+
- Trace file format and sample data
32+
- Command line arguments used
33+
- Configuration files
3034

31-
**Smartphone (please complete the following information):**
32-
- Device: [e.g. iPhone6]
33-
- OS: [e.g. iOS8.1]
34-
- Browser [e.g. stock browser, safari]
35-
- Version [e.g. 22]
35+
**Error output**
36+
If applicable, add error messages, stack traces, or relevant log output.
3637

3738
**Additional context**
3839
Add any other context about the problem here.
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
---
2+
name: 🧹 Cleanup
3+
about: Report code cleanup, refactoring, or maintenance tasks
4+
title: '[CLEANUP]: '
5+
labels: 'cleanup'
6+
assignees: ''
7+
8+
---
9+
10+
**Area of cleanup**
11+
Describe the area of the codebase that needs cleanup (e.g., specific modules, files, or directories).
12+
13+
**Type of cleanup**
14+
- [ ] Code refactoring
15+
- [ ] Remove deprecated code
16+
- [ ] Update dependencies
17+
- [ ] Improve documentation
18+
- [ ] Code formatting/style consistency
19+
- [ ] Remove unused code/variables
20+
- [ ] Performance optimization
21+
- [ ] Memory leak fixes
22+
- [ ] Other (please specify)
23+
24+
**Current state**
25+
Describe the current state of the code that needs cleanup. What makes it messy or problematic?
26+
27+
**Proposed improvements**
28+
Describe what the cleaned-up code should look like. What improvements do you suggest?
29+
30+
**Benefits**
31+
- [ ] Improved code readability
32+
- [ ] Better performance
33+
- [ ] Reduced technical debt
34+
- [ ] Easier maintenance
35+
- [ ] Better test coverage
36+
- [ ] Other (please specify)
37+
38+
**Priority**
39+
- [ ] Low - Nice to have
40+
- [ ] Medium - Should be addressed soon
41+
- [ ] High - Urgent cleanup needed
42+
43+
**Additional context**
44+
Add any other context, screenshots, or examples about the cleanup task here.
45+
46+
**Related issues/PRs**
47+
Link any related issues or pull requests that are connected to this cleanup task.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Questions
4+
url: https://github.com/1a1a11a/libCacheSim/discussions
5+
about: Ask questions and discuss with other libCacheSim community members
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
name: 📚 Documentation
3+
about: Report an issue related to libCacheSim documentation
4+
title: '[DOC]: '
5+
labels: 'documentation'
6+
assignees: ''
7+
8+
---
9+
10+
**Documentation Issue**
11+
A clear and concise description of what content in the documentation is an issue.
12+
13+
**Suggested Improvement**
14+
Tell us how we could improve the documentation in this regard.
15+
16+
**Documentation Category**
17+
Please check the relevant category:
18+
- [ ] API documentation
19+
- [ ] Installation guide
20+
- [ ] Usage examples
21+
- [ ] Performance guide
22+
- [ ] Troubleshooting
23+
- [ ] README files
24+
- [ ] Code comments
25+
- [ ] Other (please specify)
26+
27+
**Current Documentation Location**
28+
Please specify where the problematic documentation is located (e.g., file path, URL, section name).
29+
30+
**Additional Context**
31+
Add any other context about the documentation issue here.
32+
33+
**Before submitting this issue**
34+
- [ ] I have searched for relevant issues in the repository
35+
- [ ] I have checked the existing documentation thoroughly
36+
- [ ] I have provided specific suggestions for improvement
37+
38+
Thanks for contributing to libCacheSim documentation! 🎉
Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
2-
name: Feature request
3-
about: Suggest an idea for this project
4-
title: ''
5-
labels: ''
2+
name: 🚀 Feature request
3+
about: Suggest an idea for libCacheSim
4+
title: '[FEATURE]: '
5+
labels: 'feature'
66
assignees: ''
77

88
---
@@ -13,8 +13,25 @@ A clear and concise description of what the problem is. Ex. I'm always frustrate
1313
**Describe the solution you'd like**
1414
A clear and concise description of what you want to happen.
1515

16+
**Feature category**
17+
Please check the relevant category:
18+
- [ ] New cache algorithm implementation
19+
- [ ] New eviction policy
20+
- [ ] New trace format support
21+
- [ ] Performance improvement
22+
- [ ] API enhancement
23+
- [ ] Documentation improvement
24+
- [ ] Build system improvement
25+
- [ ] Other (please specify)
26+
27+
**Use case**
28+
Describe the specific use case or scenario where this feature would be beneficial.
29+
1630
**Describe alternatives you've considered**
1731
A clear and concise description of any alternative solutions or features you've considered.
1832

33+
**Implementation considerations**
34+
If you have thoughts on how this could be implemented, please share them here.
35+
1936
**Additional context**
20-
Add any other context or screenshots about the feature request here.
37+
Add any other context, references to papers, or examples about the feature request here.

.github/workflows/build.yml

Lines changed: 34 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,55 +2,58 @@ name: build
22

33
on: [push, pull_request]
44

5+
permissions:
6+
contents: read
7+
58
env:
69
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
710
BUILD_TYPE: Release
811

912
jobs:
10-
# macos:
11-
# name: macos / clang
12-
# runs-on: macos-10.15
13-
# env:
14-
# CC: clang
15-
# steps:
16-
# - uses: actions/checkout@v2
17-
# - name: Prepare1
18-
# run: brew install gcc glib google-perftools libomp
19-
# - name: Prepare2
20-
# run: bash scripts/setup.sh
21-
# - name: Configure CMake
22-
# run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
23-
# - name: build
24-
# run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
25-
# - name: Run
26-
# continue-on-error: true
27-
# run: make test
13+
macos:
14+
name: macos / clang
15+
runs-on: macos-latest
16+
steps:
17+
- uses: actions/checkout@v4
18+
- name: Prepare
19+
run: bash scripts/install_dependency.sh
20+
- name: Configure CMake
21+
run: cmake -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
22+
- name: Build
23+
run: ninja -C ${{github.workspace}}/build
24+
- name: Test
25+
working-directory: ${{github.workspace}}/build
26+
run: ctest -C ${{env.BUILD_TYPE}} --output-on-failure --parallel
2827

2928
ubuntu:
3029
runs-on: ubuntu-latest
3130
steps:
32-
- uses: actions/checkout@v2
31+
- uses: actions/checkout@v4
3332
- name: Prepare
3433
run: bash scripts/install_dependency.sh
35-
- name: Configure CMake
36-
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
34+
- name: Configure CMake with LSan
35+
run: |
36+
cmake -G Ninja -B ${{github.workspace}}/build \
37+
-DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \
38+
-DCMAKE_C_FLAGS="-fsanitize=leak" \
39+
-DCMAKE_CXX_FLAGS="-fsanitize=leak"
3740
- name: Build
38-
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
39-
- name: Test
41+
run: ninja -C ${{github.workspace}}/build
42+
- name: Test with LSan
4043
working-directory: ${{github.workspace}}/build
41-
run: ctest -C ${{env.BUILD_TYPE}}
44+
run: |
45+
export ASAN_OPTIONS="detect_leaks=1:halt_on_error=1:verbosity=1"
46+
ctest -C ${{env.BUILD_TYPE}} --output-on-failure --parallel
4247
4348
selfhosted:
49+
if: github.repository == '1a1a11a/libCacheSim'
4450
runs-on: self-hosted
4551
steps:
46-
- uses: actions/checkout@v2
52+
- uses: actions/checkout@v4
4753
- name: Configure CMake
48-
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DENABLE_GLCACHE=on -DENABLE_LRB=on
54+
run: cmake -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DENABLE_GLCACHE=on -DENABLE_LRB=on
4955
- name: Build
50-
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
56+
run: ninja -C ${{github.workspace}}/build
5157
- name: Test
5258
working-directory: ${{github.workspace}}/build
53-
run: ctest -C ${{env.BUILD_TYPE}} -j
54-
55-
56-
59+
run: ctest -C ${{env.BUILD_TYPE}} --output-on-failure --parallel

0 commit comments

Comments
 (0)