Skip to content

Commit 67122fe

Browse files
committed
upd vendor colors and add platform info
1 parent dbe5ea2 commit 67122fe

File tree

2 files changed

+53
-22
lines changed

2 files changed

+53
-22
lines changed

README.md

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
---
3131

3232
## Overview
33-
**NoBS (Neural NetwOrks Benchmark Stash)** is an open-source benchmark suite
33+
**NoBS** is an open-source benchmark suite
3434
for evaluating *real AI hardware performance* — not synthetic FLOPS or polished demos.
3535

3636
It's a collection of reproducible tests and community-submitted results for:
@@ -55,29 +55,29 @@ NoBS was built to understand how different devices — from everyday laptops and
5555
5656
### 🏆 Overall Ranking
5757

58-
| Rank | Device | CPU | RAM | GPU | VRAM | Embeddings | LLM | Total Score |
59-
|------|--------|-----|-----|-----|------|------------|-----|-------------|
60-
| 🥇 1 | Mac16,6 | Apple M4 Max (14) | 36 GB | Apple M4 Max (32 cores) | shared with system RAM | 637.17 | 157.84 | **795.01** |
61-
| 🥈 2 | ASUSTeK COMPUTER INC. ASUS Vivobook Pro 15 N6506MV_N6506MV 1.0 | Intel(R) Core(TM) Ultra 9 185H (16) | 23 GB | NVIDIA GeForce RTX 4060 Laptop GPU | 8 GB | 539.73 | 26.42 | **566.15** |
58+
| Rank | Device | Platform | CPU | RAM | GPU | VRAM | Embeddings | LLM | Total Score |
59+
|------|--------|----------|-----|-----|-----|------|------------|-----|-------------|
60+
| 🥇 1 | Mac16,6 | 🍏 macOS | Apple M4 Max (14) | 36 GB | Apple M4 Max (32 cores) | shared with system RAM | 637.17 | 157.84 | **795.01** |
61+
| 🥈 2 | ASUSTeK COMPUTER INC. ASUS Vivobook Pro 15 N6506MV_N6506MV 1.0 | 🐧 Linux | Intel(R) Core(TM) Ultra 9 185H (16) | 23 GB | NVIDIA GeForce RTX 4060 Laptop GPU | 8 GB | 539.73 | 26.42 | **566.15** |
6262

6363

6464
### 📊 By GPU Vendor
6565

6666
<details open>
67-
<summary><b>🍎 Apple</b> (1 device)</summary>
67+
<summary><b> Apple</b> (1 device)</summary>
6868

69-
| Rank | Device | CPU | RAM | GPU | VRAM | Embeddings | LLM | Total Score |
70-
|------|--------|-----|-----|-----|------|------------|-----|-------------|
71-
| 🥇 1 | Mac16,6 | Apple M4 Max (14) | 36 GB | Apple M4 Max (32 cores) | shared with system RAM | 637.17 | 157.84 | **795.01** |
69+
| Rank | Device | Platform | CPU | RAM | GPU | VRAM | Embeddings | LLM | Total Score |
70+
|------|--------|----------|-----|-----|-----|------|------------|-----|-------------|
71+
| 🥇 1 | Mac16,6 | 🍏 macOS | Apple M4 Max (14) | 36 GB | Apple M4 Max (32 cores) | shared with system RAM | 637.17 | 157.84 | **795.01** |
7272

7373
</details>
7474

7575
<details open>
7676
<summary><b>🟢 NVIDIA</b> (1 device)</summary>
7777

78-
| Rank | Device | CPU | RAM | GPU | VRAM | Embeddings | LLM | Total Score |
79-
|------|--------|-----|-----|-----|------|------------|-----|-------------|
80-
| 🥇 1 | ASUSTeK COMPUTER INC. ASUS Vivobook Pro 15 N6506MV_N6506MV 1.0 | Intel(R) Core(TM) Ultra 9 185H (16) | 23 GB | NVIDIA GeForce RTX 4060 Laptop GPU | 8 GB | 539.73 | 26.42 | **566.15** |
78+
| Rank | Device | Platform | CPU | RAM | GPU | VRAM | Embeddings | LLM | Total Score |
79+
|------|--------|----------|-----|-----|-----|------|------------|-----|-------------|
80+
| 🥇 1 | ASUSTeK COMPUTER INC. ASUS Vivobook Pro 15 N6506MV_N6506MV 1.0 | 🐧 Linux | Intel(R) Core(TM) Ultra 9 185H (16) | 23 GB | NVIDIA GeForce RTX 4060 Laptop GPU | 8 GB | 539.73 | 26.42 | **566.15** |
8181

8282
</details>
8383

@@ -203,10 +203,21 @@ We welcome contributions! Whether it's adding new benchmarks, supporting new mod
203203
# Run benchmarks to ensure they work
204204
uv run python main.py
205205

206+
# Update benchmark results tables (if you modified results)
207+
make
208+
206209
# Run code quality checks manually (optional - pre-commit will run them automatically)
207-
pre-commit run --all-files
210+
make format
208211
```
209212

213+
**Available Makefile commands:**
214+
- `make` — Generate benchmark results tables (default)
215+
- `make generate` — Generate benchmark results tables
216+
- `make format` — Run pre-commit hooks on all files
217+
- `make lint` — Run ruff linter only
218+
- `make clean` — Clean Python cache files
219+
- `make help` — Show all available commands
220+
210221
4. **Commit your changes**
211222
```sh
212223
git add .

src/generate_results_table.py

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ def generate_summary_table(results: list[dict[str, Any]]) -> str:
5252
scored_results.sort(key=lambda x: x["total_score"], reverse=True)
5353

5454
lines = [
55-
"| Rank | Device | CPU | RAM | GPU | VRAM | Embeddings | LLM | Total Score |",
56-
"|------|--------|-----|-----|-----|------|------------|-----|-------------|",
55+
"| Rank | Device | Platform | CPU | RAM | GPU | VRAM | Embeddings | LLM | Total Score |",
56+
"|------|--------|----------|-----|-----|-----|------|------------|-----|-------------|",
5757
]
5858

5959
for rank, item in enumerate(scored_results, 1):
@@ -72,13 +72,23 @@ def generate_summary_table(results: list[dict[str, Any]]) -> str:
7272
else:
7373
vram_str = str(gpu_mem)
7474

75+
# Format platform with emoji
76+
platform = device_info.get("platform", "Unknown")
77+
platform_emoji_map = {
78+
"Darwin": "🍏 macOS",
79+
"Linux": "🐧 Linux",
80+
"Windows": "🪟 Windows",
81+
}
82+
platform_str = platform_emoji_map.get(platform, platform)
83+
7584
# Add medal emoji for top 3
7685
rank_emoji = {1: "🥇", 2: "🥈", 3: "🥉"}.get(rank, "")
7786
rank_str = f"{rank_emoji} {rank}" if rank_emoji else str(rank)
7887

7988
lines.append(
80-
f"| {rank_str} | {device_info['host']} | {device_info['processor']} | "
81-
f"{device_info['ram_gb']:.0f} GB | {device_info['gpu_name']} | {vram_str} | "
89+
f"| {rank_str} | {device_info['host']} | {platform_str} | "
90+
f"{device_info['processor']} | {device_info['ram_gb']:.0f} GB | "
91+
f"{device_info['gpu_name']} | {vram_str} | "
8292
f"{emb_str} | {llm_str} | **{total_str}** |"
8393
)
8494

@@ -241,7 +251,7 @@ def generate_gpu_grouped_tables(results: list[dict[str, Any]]) -> str:
241251

242252
# Vendor emojis
243253
vendor_emojis = {
244-
"Apple": "🍎",
254+
"Apple": "",
245255
"NVIDIA": "🟢",
246256
"AMD": "🔴",
247257
"Intel": "🔵",
@@ -266,10 +276,10 @@ def generate_gpu_grouped_tables(results: list[dict[str, Any]]) -> str:
266276

267277
# Table header
268278
sections.append(
269-
"| Rank | Device | CPU | RAM | GPU | VRAM | Embeddings | LLM | Total Score |"
279+
"| Rank | Device | Platform | CPU | RAM | GPU | VRAM | Embeddings | LLM | Total Score |"
270280
)
271281
sections.append(
272-
"|------|--------|-----|-----|-----|------|------------|-----|-------------|"
282+
"|------|--------|----------|-----|-----|-----|------|------------|-----|-------------|"
273283
)
274284

275285
# Table rows
@@ -291,13 +301,23 @@ def generate_gpu_grouped_tables(results: list[dict[str, Any]]) -> str:
291301
else:
292302
vram_str = str(gpu_mem)
293303

304+
# Format platform with emoji
305+
platform = device_info.get("platform", "Unknown")
306+
platform_emoji_map = {
307+
"Darwin": "🍏 macOS",
308+
"Linux": "🐧 Linux",
309+
"Windows": "🪟 Windows",
310+
}
311+
platform_str = platform_emoji_map.get(platform, platform)
312+
294313
# Add medal emoji for top 3 within vendor
295314
rank_emoji = {1: "🥇", 2: "🥈", 3: "🥉"}.get(rank, "")
296315
rank_str = f"{rank_emoji} {rank}" if rank_emoji else str(rank)
297316

298317
sections.append(
299-
f"| {rank_str} | {device_info['host']} | {device_info['processor']} | "
300-
f"{device_info['ram_gb']:.0f} GB | {device_info['gpu_name']} | {vram_str} | "
318+
f"| {rank_str} | {device_info['host']} | {platform_str} | "
319+
f"{device_info['processor']} | {device_info['ram_gb']:.0f} GB | "
320+
f"{device_info['gpu_name']} | {vram_str} | "
301321
f"{emb_str} | {llm_str} | **{total_str}** |"
302322
)
303323

0 commit comments

Comments
 (0)