🧪 Qwen 模型代码能力测试报告
测试日期: 2026-02-07
测试平台: ub2 (RTX 4090 24GB + i9-13900K + 62GB RAM)
测试框架: 自定义代码能力评测 (8道题)
📊 测试概览
测试内容
| 类别 | 题目 | 考察能力 |
|---|---|---|
| 代码生成 | Python 二分查找 | 基础算法实现 |
| 代码生成 | 异步 HTTP 请求 | async/await、aiohttp |
| Bug 修复 | 列表越界 | 调试、索引理解 |
| Bug 修复 | 并发竞态 | 多线程、锁机制 |
| 算法实现 | LRU Cache | 数据结构设计 |
| 算法实现 | 合并 K 个有序链表 | 堆、链表操作 |
| 代码解释 | 装饰器 memoize | Python 高级特性理解 |
| 代码解释 | 元类 Singleton | 元编程理解 |
评分标准
- 核心逻辑正确: 40分
- 关键词覆盖: 40分
- 回答充分度: 20分
- 超时 (120s): 0分
🏆 最终排名
| 排名 | 模型 | 综合得分 | 平均速度 | 平均耗时 |
|---|---|---|---|---|
| 🥇 | **qwen3:4b** | **100.0/100** | 108.5 tok/s | 36.6s |
| 🥈 | **qwen3:8b** | **100.0/100** | 88.4 tok/s | 50.1s |
| 🥉 | qwen3:32b | 75.0/100 | 23.6 tok/s | 97.9s |
| 4 | qwen3:30b-a3b | 75.0/100 | 129.2 tok/s | 45.1s |
| 5 | qwen2.5:7b | 73.2/100 | 6.6 tok/s | 86.9s |
📈 分项得分详情
qwen3:4b (🥇 冠军)
| 题目 | 得分 | 耗时 | 速度 |
|---|---|---|---|
| 二分查找 | 100 | 17.1s | 138 tok/s |
| 异步HTTP | 100 | 17.3s | 105 tok/s |
| 列表越界Bug | 100 | 59.8s | 90 tok/s |
| 并发竞态Bug | 100 | 18.1s | 125 tok/s |
| LRU Cache | 100 | 26.2s | 100 tok/s |
| 合并链表 | 100 | 47.4s | 108 tok/s |
| 装饰器解释 | 100 | 15.6s | 126 tok/s |
| 元类解释 | 100 | 91.7s | 76 tok/s |
| **总计** | **100.0** | **36.6s avg** | **108.5 tok/s** |
qwen3:8b (🥈 亚军)
| 题目 | 得分 | 耗时 | 速度 |
|---|---|---|---|
| 二分查找 | 100 | 18.7s | 129 tok/s |
| 异步HTTP | 100 | 62.2s | 62 tok/s |
| 列表越界Bug | 100 | 56.7s | 89 tok/s |
| 并发竞态Bug | 100 | 50.2s | 64 tok/s |
| LRU Cache | 100 | 68.8s | 96 tok/s |
| 合并链表 | 100 | 55.0s | 95 tok/s |
| 装饰器解释 | 100 | 49.3s | 80 tok/s |
| 元类解释 | 100 | 38.8s | 89 tok/s |
| **总计** | **100.0** | **50.1s avg** | **88.4 tok/s** |
qwen3:32b (🥉 季军)
| 题目 | 得分 | 耗时 | 速度 |
|---|---|---|---|
| 二分查找 | 100 | 82.8s | 33 tok/s |
| 异步HTTP | 100 | 101.6s | 40 tok/s |
| 列表越界Bug | ⚠️ 0 | 120s | 超时 |
| 并发竞态Bug | 100 | 50.4s | 37 tok/s |
| LRU Cache | 100 | 118.7s | 31 tok/s |
| 合并链表 | ⚠️ 0 | 120s | 超时 |
| 装饰器解释 | 100 | 74.6s | 30 tok/s |
| 元类解释 | 100 | 115.6s | 19 tok/s |
| **总计** | **75.0** | **97.9s avg** | **23.6 tok/s** |
qwen3:30b-a3b (第4名)
| 题目 | 得分 | 耗时 | 速度 |
|---|---|---|---|
| 二分查找 | 100 | 21.5s | 152 tok/s |
| 异步HTTP | 100 | 13.2s | 203 tok/s |
| 列表越界Bug | ⚠️ 0 | 120s | 超时 |
| 并发竞态Bug | 100 | 5.4s | 173 tok/s |
| LRU Cache | ⚠️ 0 | 120s | 超时 |
| 合并链表 | 100 | 36.1s | 171 tok/s |
| 装饰器解释 | 100 | 19.3s | 151 tok/s |
| 元类解释 | 100 | 25.3s | 184 tok/s |
| **总计** | **75.0** | **45.1s avg** | **129.2 tok/s** |
qwen2.5:7b (第5名)
| 题目 | 得分 | 耗时 | 速度 |
|---|---|---|---|
| 二分查找 | 100 | 74.0s | 9 tok/s |
| 异步HTTP | 100 | 90.2s | 7 tok/s |
| 列表越界Bug | 86 | 118.8s | 4 tok/s |
| 并发竞态Bug | 100 | 57.8s | 8 tok/s |
| LRU Cache | ⚠️ 0 | 120s | 超时 |
| 合并链表 | ⚠️ 0 | 120s | 超时 |
| 装饰器解释 | 100 | 61.2s | 16 tok/s |
| 元类解释 | 100 | 53.2s | 9 tok/s |
| **总计** | **73.2** | **86.9s avg** | **6.6 tok/s** |
📊 能力维度对比
| 模型 | 代码生成 | Bug修复 | 算法实现 | 代码解释 |
|---|---|---|---|---|
| qwen3:4b | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| qwen3:8b | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| qwen3:32b | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| qwen3:30b-a3b | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| qwen2.5:7b | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐ | ⭐⭐⭐⭐⭐ |
💡 关键发现
1. 小模型完胜大模型
- qwen3:4b 和 8b 均获得 满分 100/100
- 大模型 (32b, 30b) 因超时丢分,只得 75/100
- 参数量 ≠ 代码能力
2. 速度与质量可以兼得
- qwen3:4b: 满分 + 108 tok/s
- qwen3:8b: 满分 + 88 tok/s
- 小模型在 120s 限时内完成所有题目
3. 大模型超时问题
- qwen3:32b 在 Bug修复和算法题超时
- qwen3:30b-a3b 速度快 (129 tok/s) 但仍有超时
- 可能原因:生成内容过长、思考链过深
4. qwen2.5:7b 异常缓慢
- 速度仅 6.6 tok/s,远低于预期
- 可能原因:模型配置问题或未正确使用 GPU
- 建议检查 Ollama 配置
🎯 使用建议
日常代码助手
推荐: qwen3:8b
- 满分准确率
- 88 tok/s 速度足够
- 5GB VRAM,资源占用低
追求极致速度
推荐: qwen3:4b
- 同样满分
- 108 tok/s 更快
- 仅 2.6GB,可同时跑其他任务
需要深度推理
推荐: DeepSeek-R1:32b (未在本次测试)
- 专为推理优化
- 复杂问题表现更好
不推荐
- qwen2.5:7b: 速度异常,需排查
- qwen3:32b/30b: 超时风险高
📋 测试环境
| 项目 | 配置 |
|---|---|
| 主机 | ub2 (Tailscale) |
| CPU | Intel Core i9-13900K |
| GPU | NVIDIA RTX 4090 (24GB) |
| RAM | 62 GB |
| 系统 | Ubuntu 20.04 LTS |
| CUDA | 12.2 |
| Ollama | 最新版 |
| 超时设置 | 120秒/题 |
📁 原始数据
完整测试日志: /tmp/benchmark-output.log
JSON 结果: /tmp/qwen-benchmark-results.json
报告生成时间: 2026-02-07 13:40 UTC