Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
6.0.0 source code.tar.gz | 2025-09-08 | 848.5 kB | |
6.0.0 source code.zip | 2025-09-08 | 855.0 kB | |
README.md | 2025-09-08 | 3.5 kB | |
Totals: 3 Items | 1.7 MB | 2 |
🚀 Major Features
- 性能优化策略系统: 全新的转换策略架构,针对不同使用场景提供最优性能
- 内存优化策略 (Memory Optimized): 占用 ~400KB 内存,适合 Web 请求和内存受限环境
- 缓存策略 (Cached): 占用 ~4MB 内存,重复转换性能提升 2-3 倍,适合批处理任务
- 智能策略 (Smart): 占用 600KB-1.5MB 内存,根据文本复杂度自适应加载
- ConverterFactory: 新的工厂模式管理转换器实例和策略选择
- 自动策略选择: 根据运行环境(Web/CLI/内存限制)自动推荐最佳策略
- 性能基准测试工具: 内置的策略性能对比和监控工具
- 内存监控: 支持实时监控内存使用情况和性能指标
🔧 API Changes
- 新增
Pinyin::useMemoryOptimized()
- 切换到内存优化策略 - 新增
Pinyin::useCached()
- 切换到缓存策略 - 新增
Pinyin::useSmart()
- 切换到智能策略 - 新增
Pinyin::useAutoStrategy()
- 自动选择最佳策略 - 新增
Pinyin::clearCache()
- 清理所有转换器缓存 - 新增
ConverterFactory::make($strategy)
- 创建指定策略的转换器 - 新增
ConverterFactory::recommend()
- 获取推荐策略 - 新增
ConverterFactory::getStrategiesInfo()
- 获取所有策略信息
⚡ Performance Improvements
- 内存使用优化: 默认内存占用从 ~4MB 降低到 ~400KB
- 转换速度提升: 缓存策略下重复转换速度提升 2-3 倍
- 智能加载: 根据文本复杂度动态调整数据加载策略
- 按需加载: 内存优化策略仅在需要时加载转换数据
📊 Benchmark & Monitoring
- 新增
php benchmark/run.php
- 运行性能基准测试 - 新增
php benchmark/compare-strategies.php
- 策略对比测试 - 新增基准测试文档
docs/benchmark-guide.md
- 支持内存使用情况实时监控
运行基准测试
:::bash
# 运行标准基准测试,显示所有方法的性能表现
php benchmark/run.php
# 详细的策略对比测试,对比三种策略的性能差异
php benchmark/compare-strategies.php
基准测试会显示: - 每种策略的执行时间和内存使用情况 - 不同文本长度下的性能表现 - 策略之间的性能对比和推荐场景
🔄 Breaking Changes
- 默认策略变更: 从全缓存改为内存优化策略,降低默认内存占用
- 转换器架构重构: 引入策略模式,旧的直接实例化转换器方式仍兼容
- 性能特征变化: 首次转换可能略慢,但内存占用显著降低
🔧 Backward Compatibility
- 完全兼容 5.x API,现有代码无需修改即可使用
heteronym()
方法(5.3.3+ 引入)继续保持兼容- 所有原有的转换方法 (
sentence
,phrase
,chars
等) 保持不变
📚 Documentation
- 更新 README.md 增加性能优化策略说明
- 新增性能对比表格和使用建议
- 新增基准测试指南
- 新增性能优化最佳实践
🔧 Development Tools
- 新增性能基准测试脚本
- 新增策略对比工具
- 增强命令行工具支持策略选择
https://github.com/overtrue/pinyin/blob/master/CHANGELOG.md
New Contributors
- @Copilot made their first contribution in https://github.com/overtrue/pinyin/pull/216
Full Changelog: https://github.com/overtrue/pinyin/compare/5.3.4...6.0.0