mica(云母)
mica 云母,寓意为云服务的核心,使得云服务开发更加方便快捷。mica 的前身是 lutool,lutool在内部孵化了小两年,已经被多个朋友运用到企业。由于 lutool 对微服务不够友好,故重塑了mica。mica 中的部分大部分组件进行了持续性打磨,增强易用性和性能。
mica 核心依赖
mica 基于 java 8,没有历史包袱,支持传统 Servlet 和 Reactive(webflux)。采用 mica-auto 自动生成 spring.factories 和 spring-devtools.properties 配置,仅依赖 Spring boot、Spring cloud 全家桶,无第三方依赖。市面上鲜有的微服务核心组件。
更新说明
[1.0.1] - 2019-04-03
- :ok_hand: 处理几处 P3C 代码检查问题。@冷冷
- :zap: 优化泛型,避免部分环境下的编译问题。
- :sparkles: 添加 lutool 中的 WebUtil.renderJson()。
- :zap: 优化 DateUtil 性能。
- :zap: 优化 RuntimeUtil,提高性能。
- :zap: 升级 gradle 到
5.3.1。
本次版本主要是进行了一些工具的压力测试:
Bean copy 测试
| Benchmark |
Score |
Error |
Units |
| hutool |
1939.092 |
26.747 |
ops/ms |
| spring |
3569.035 |
39.607 |
ops/ms |
| cglib |
9112.785 |
560.503 |
ops/ms |
| mica |
17753.409 |
393.245 |
ops/ms |
结论:mica 在非编译期 Bean copy 性能强劲,功能强大。
UUID 压测
| Benchmark |
Score |
Error |
Units |
| jdk8UUId |
734.595 |
17.220 |
ops/ms |
| jdk8ThreadLocalRandomUUId |
3224.759 |
32.107 |
ops/ms |
| hutoolFastSimpleUUID |
3619.748 |
67.195 |
ops/ms |
| micaUUId(java9 方式) |
12375.405 |
241.879 |
ops/ms |
结论:mica 在使用了 java9 的算法,性能卓越。
Date format 压测
| Benchmark |
Score |
Error |
Units |
| java8Date |
2405.924 |
44.912 |
ops/ms |
| micaDateUtil |
2541.753 |
48.321 |
ops/ms |
| hutoolDateUtil |
2775.531 |
13.526 |
ops/ms |
结论:hutool 使用的 common lang3 的 FastDateFormat 占用优势。mica 使用 tomcat8 中的 ConcurrentDateFormat 简单的规避了 SimpleDateFormat 的线程问题。
后期 mica 会进行更多的测试,保证稳定的同时,尽可能的提高性能。
开源推荐
关注我们
![如梦技术-公众号.jpg 如梦技术-公众号.jpg]()
扫描上面二维码,更多精彩内容每天推荐!