首页 > 其他分享 >部分信创CPU算力与IntelCPU的简单比较

部分信创CPU算力与IntelCPU的简单比较

时间:2023-02-18 20:47:03浏览次数:36  
标签:info stress ng secs IntelCPU time 信创 算力 bogo

部分信创CPU算力与IntelCPU的简单比较


摘要

最近一直想查看一下国产和非国产的CPU的性能比较
从最开始学习研究 sysbench
到周五晚上开始学习 stress-ng
今天查看github上面stress-ng的官网时
发现有一个ubuntu的网页不错,感觉可以用来进行一些简单计算

我主要是想计算不同CPU的单核以及多核证书以及浮点性能
命令很简单
工具是上一个文章里面编译的. 这里主要是总结一下

官网可以测试的methods

stress-ng --cpu-method which
cpu-method must be one of: all ackermann bitops callfunc cdouble cfloat clongdouble 
correlate crc16 decimal32 decimal64 decimal128 dither djb2a double euler explog fft 
fibonacci float fnv1a gamma gcd gray hamming hanoi hyperbolic idct int128 int64 int32 
int16 int8 int128float int128double int128longdouble int128decimal32 int128decimal64 
int128decimal128 int64float int64double int64longdouble int32float int32double 
int32longdouble jenkin jmp ln2 longdouble loop matrixprod nsqrt omega parity phi pi 
pjw prime psi queens rand rand48 rgb sdbm sieve sqrt trig union zeta

一个最简单的测试命令

# 单个CPU核心
for m in int8 int16 int32 int64 crc16 float longdouble ; do echo $m; \
 ./stress-ng-amd --cpu 1 --cpu-method $m -t 10s --metrics-brief; done
for m in int8 int16 int32 int64 crc16 float longdouble ; do echo $m; \
 ./stress-ng-arm --cpu 1 --cpu-method $m -t 10s --metrics-brief; done
# 全部CPU核心
for m in int8 int16 int32 int64 crc16 float longdouble ; do echo $m; \
 ./stress-ng-amd --cpu 0 --cpu-method $m -t 10s --metrics-brief; done
for m in int8 int16 int32 int64 crc16 float longdouble ; do echo $m; \
 ./stress-ng-arm --cpu 0 --cpu-method $m -t 10s --metrics-brief; done

算力结果


单核心部分

CPU型号 int8 int16 int32 int64 crc16 float longdouble
飞腾2000+ 752.7 775.7 849.7 907.2 612.30 695.29 88.36
Golden6150 1798.49 1898.25 1831.47 1929.40 963.99 1604.85 1499.03
鲲鹏920虚拟机 1298.50 1287.70 1338.50 1358.90 724.15 823.39 149.95
飞腾2500 726.60 749.00 808.69 874.80 582.65 617.69 84.59
鲲鹏920物理机 1300.30 1289.60 1340.60 1361.20 725.96 822.29 150.55
Silver 4216 1422.40 1499.40 1438.00 1529.70 755.52 1345.99 1090.24
E5-2682 v4 1375.30 1427.80 1379.50 1481.10 806.92 1339.69 1297.20
海光7285 1076.39 1070.40 1076.70 1145.90 708.19 992.90 660.43

备注 :

6150 2.7Ghz   4216 2.1Ghz    E5-2682V4 2.5Ghz

飞腾2000+ 2.1GHZ 飞腾2500 2.1Ggz 鲲鹏920 2.6Ghz

海光  7285 2.5GHZ 32核心 64线程

多核心部分

CPU型号 核心数 int8 int16 int32 int64 crc16 float longdouble
飞腾2000+ 64 48218.01 46498.99 48781.99 53400.20 36122.65 39968.20 5158.69
Golden6150 72/144HT 150926.43 152270.88 140226.89 140380.04 112979.67 181171.93 124408.36
鲲鹏920虚拟机 8 10257.11 10115.81 10551.70 10733.00 5716.84 6494.56 1180.52
飞腾2500 128 89674.53 95949.70 103650.26 108989.33 72193.69 79242.50 10869.65
鲲鹏920物理机 128 163231.06 160767.45 168221.46 174053.41 92233.46 104964.82 19211.26
Silver 4216 32/64HT 57168.08 59957.15 53886.69 53707.51 40581.40 79803.02 48684.99
E5-2682 v4 8 6756.42 7330.22 6887.32 7248.12 5506.79 9203.08 6345.19
海光7285 64/128HT 97374.01 103356.23 101222.20 105232.52 79292.95 114943.13 65162.61

算力结果总结

1. 六年前上市的Golden 6150 是我对比的各种CPU里面无可置疑的王者.
   不论单核还是多路多核.都是接近王者的存在(除了128核心的鲲鹏920整形较高). 
   怀疑因为有AVX512 longdouble等指令是十倍于信创CPU的存在.
2. 飞腾2500 单核性能竟然比飞腾2000有所衰退. 怀疑是增加多路互连导致.
   因为多了一倍的核心数. 飞腾2500的多核心性能基本上是飞腾2000+的两倍.
3. 飞腾2022年的CPU只有intel 2017年非最高端CPU单核性能的42%,这一点让人大跌眼镜.
   尤其是longdouble等指令的性能仅有二十分之一多一点的样子. (Intel的主频较高2.7Ghz)
4. 鲲鹏华为云的虚拟化优化的非常了得,单核新能仅有不到1%的损耗,相当厉害. 
5. 鲲鹏是最接近Intel的存在, 因为主频也比较高一些. 部分计算方法128核心要超过144线程的四路服务器
   但是longdouble等指令依旧输的比较惨. crc16等算法也是落后的. 
6. 国产化多核的算力可以跟五六年前的IntelCPU掰一掰手腕. 但是单核算力还是不足. 
7. Intel的超线程算进来可能也就带来20%的算力提升. 不开超线程是 1 开超线程也就1.2的样子.
8. 海光CPU的整数算力不如华为鲲鹏,但是海光的浮点和CRC比鲲鹏要好一点 
9. 海光的线程数虽然赶上了鲲鹏, 但是因为超线程最多相当于0.2个core的加成, 倒是多核心能力不如鲲鹏. 

核心观点: 跑分强性能不一定好, 还需要生产验证; 跑分差性能肯定好不到哪里去. 

单核心算力部分原始数据


飞腾2000+

int8
stress-ng: info:  [1220937] setting to a 10 second run per stressor
stress-ng: info:  [1220937] dispatching hogs: 1 cpu
stress-ng: info:  [1220937] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [1220937]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [1220937] cpu                7527     10.00      9.98      0.00       752.70         754.19
stress-ng: info:  [1220937] successful run completed in 10.00s
int16
stress-ng: info:  [1222145] setting to a 10 second run per stressor
stress-ng: info:  [1222145] dispatching hogs: 1 cpu
stress-ng: info:  [1222145] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [1222145]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [1222145] cpu                7757     10.00      9.99      0.00       775.70         776.60
stress-ng: info:  [1222145] successful run completed in 10.00s
int32
stress-ng: info:  [1223495] setting to a 10 second run per stressor
stress-ng: info:  [1223495] dispatching hogs: 1 cpu
stress-ng: info:  [1223495] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [1223495]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [1223495] cpu                8497     10.00      9.98      0.01       849.70         850.86
stress-ng: info:  [1223495] successful run completed in 10.00s
int64
stress-ng: info:  [1224844] setting to a 10 second run per stressor
stress-ng: info:  [1224844] dispatching hogs: 1 cpu
stress-ng: info:  [1224844] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [1224844]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [1224844] cpu                9072     10.00      9.99      0.00       907.20         908.20
stress-ng: info:  [1224844] successful run completed in 10.00s
crc16
stress-ng: info:  [1226046] setting to a 10 second run per stressor
stress-ng: info:  [1226046] dispatching hogs: 1 cpu
stress-ng: info:  [1226046] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [1226046]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [1226046] cpu                6129     10.01     10.00      0.00       612.30         613.07
stress-ng: info:  [1226046] successful run completed in 10.01s
float
stress-ng: info:  [1227324] setting to a 10 second run per stressor
stress-ng: info:  [1227324] dispatching hogs: 1 cpu
stress-ng: info:  [1227324] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [1227324]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [1227324] cpu                6953     10.00      9.98      0.00       695.29         696.68
stress-ng: info:  [1227324] successful run completed in 10.00s
longdouble
stress-ng: info:  [1228565] setting to a 10 second run per stressor
stress-ng: info:  [1228565] dispatching hogs: 1 cpu
stress-ng: info:  [1228565] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [1228565]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [1228565] cpu                 884     10.00      9.99      0.00        88.36          88.48
stress-ng: info:  [1228565] successful run completed in 10.01s


Golden 6150

int8
stress-ng: info:  [137350] setting to a 10 second run per stressor
stress-ng: info:  [137350] dispatching hogs: 1 cpu
stress-ng: info:  [137350] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [137350]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [137350] cpu               17984     10.00     10.00      0.00      1798.49        1798.35
stress-ng: info:  [137350] successful run completed in 10.00s
int16
stress-ng: info:  [137578] setting to a 10 second run per stressor
stress-ng: info:  [137578] dispatching hogs: 1 cpu
stress-ng: info:  [137578] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [137578]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [137578] cpu               18982     10.00     10.00      0.00      1898.25        1898.15
stress-ng: info:  [137578] successful run completed in 10.00s
int32
stress-ng: info:  [137947] setting to a 10 second run per stressor
stress-ng: info:  [137947] dispatching hogs: 1 cpu
stress-ng: info:  [137947] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [137947]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [137947] cpu               18314     10.00     10.00      0.00      1831.47        1831.33
stress-ng: info:  [137947] successful run completed in 10.00s
int64
stress-ng: info:  [138152] setting to a 10 second run per stressor
stress-ng: info:  [138152] dispatching hogs: 1 cpu
stress-ng: info:  [138152] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [138152]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [138152] cpu               19293     10.00     10.00      0.00      1929.40        1929.22
stress-ng: info:  [138152] successful run completed in 10.00s
crc16
stress-ng: info:  [138381] setting to a 10 second run per stressor
stress-ng: info:  [138381] dispatching hogs: 1 cpu
stress-ng: info:  [138381] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [138381]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [138381] cpu                9640     10.00     10.00      0.00       963.99         963.92
stress-ng: info:  [138381] successful run completed in 10.00s
float
stress-ng: info:  [138736] setting to a 10 second run per stressor
stress-ng: info:  [138736] dispatching hogs: 1 cpu
stress-ng: info:  [138736] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [138736]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [138736] cpu               16048     10.00     10.00      0.00      1604.85        1604.92
stress-ng: info:  [138736] successful run completed in 10.00s
longdouble
stress-ng: info:  [138979] setting to a 10 second run per stressor
stress-ng: info:  [138979] dispatching hogs: 1 cpu
stress-ng: info:  [138979] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [138979]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [138979] cpu               14990     10.00     10.00      0.00      1499.03        1499.07
stress-ng: info:  [138979] successful run completed in 10.00s


鲲鹏虚拟机

int8
stress-ng: info:  [2757623] setting to a 10 second run per stressor
stress-ng: info:  [2757623] dispatching hogs: 1 cpu
stress-ng: info:  [2757623] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [2757623]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [2757623] cpu               12985     10.00     10.00      0.00      1298.50        1299.01
stress-ng: info:  [2757623] successful run completed in 10.00s
int16
stress-ng: info:  [2758451] setting to a 10 second run per stressor
stress-ng: info:  [2758451] dispatching hogs: 1 cpu
stress-ng: info:  [2758451] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [2758451]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [2758451] cpu               12877     10.00     10.00      0.00      1287.70        1288.21
stress-ng: info:  [2758451] successful run completed in 10.00s
int32
stress-ng: info:  [2759232] setting to a 10 second run per stressor
stress-ng: info:  [2759232] dispatching hogs: 1 cpu
stress-ng: info:  [2759232] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [2759232]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [2759232] cpu               13385     10.00      9.99      0.00      1338.50        1339.17
stress-ng: info:  [2759232] successful run completed in 10.00s
int64
stress-ng: info:  [2760180] setting to a 10 second run per stressor
stress-ng: info:  [2760180] dispatching hogs: 1 cpu
stress-ng: info:  [2760180] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [2760180]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [2760180] cpu               13589     10.00     10.00      0.00      1358.90        1359.46
stress-ng: info:  [2760180] successful run completed in 10.00s
crc16
stress-ng: info:  [2761007] setting to a 10 second run per stressor
stress-ng: info:  [2761007] dispatching hogs: 1 cpu
stress-ng: info:  [2761007] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [2761007]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [2761007] cpu                7246     10.01     10.00      0.00       724.15         724.43
stress-ng: info:  [2761007] successful run completed in 10.01s
float
stress-ng: info:  [2761836] setting to a 10 second run per stressor
stress-ng: info:  [2761836] dispatching hogs: 1 cpu
stress-ng: info:  [2761836] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [2761836]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [2761836] cpu                8234     10.00     10.00      0.00       823.39         823.72
stress-ng: info:  [2761836] successful run completed in 10.00s
longdouble
stress-ng: info:  [2762788] setting to a 10 second run per stressor
stress-ng: info:  [2762788] dispatching hogs: 1 cpu
stress-ng: info:  [2762788] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [2762788]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [2762788] cpu                1500     10.00     10.00      0.00       149.95         150.01
stress-ng: info:  [2762788] successful run completed in 10.00s


飞腾2500+物理机

int8
stress-ng: info:  [902196] setting to a 10 second run per stressor
stress-ng: info:  [902196] dispatching hogs: 1 cpu
stress-ng: info:  [902196] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [902196]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [902196] cpu                7266     10.00     10.00      0.00       726.60         726.59
stress-ng: info:  [902196] successful run completed in 10.00s
int16
stress-ng: info:  [902856] setting to a 10 second run per stressor
stress-ng: info:  [902856] dispatching hogs: 1 cpu
stress-ng: info:  [902856] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [902856]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [902856] cpu                7490     10.00     10.00      0.00       749.00         748.99
stress-ng: info:  [902856] successful run completed in 10.00s
int32
stress-ng: info:  [903629] setting to a 10 second run per stressor
stress-ng: info:  [903629] dispatching hogs: 1 cpu
stress-ng: info:  [903629] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [903629]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [903629] cpu                8087     10.00     10.00      0.00       808.69         808.69
stress-ng: info:  [903629] successful run completed in 10.00s
int64
stress-ng: info:  [904380] setting to a 10 second run per stressor
stress-ng: info:  [904380] dispatching hogs: 1 cpu
stress-ng: info:  [904380] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [904380]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [904380] cpu                8748     10.00     10.00      0.00       874.80         874.80
stress-ng: info:  [904380] successful run completed in 10.00s
crc16
stress-ng: info:  [905070] setting to a 10 second run per stressor
stress-ng: info:  [905070] dispatching hogs: 1 cpu
stress-ng: info:  [905070] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [905070]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [905070] cpu                5832     10.01     10.01      0.00       582.65         582.65
stress-ng: info:  [905070] successful run completed in 10.01s
float
stress-ng: info:  [905951] setting to a 10 second run per stressor
stress-ng: info:  [905951] dispatching hogs: 1 cpu
stress-ng: info:  [905951] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [905951]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [905951] cpu                6177     10.00     10.00      0.00       617.69         617.68
stress-ng: info:  [905951] successful run completed in 10.00s
longdouble
stress-ng: info:  [906639] setting to a 10 second run per stressor
stress-ng: info:  [906639] dispatching hogs: 1 cpu
stress-ng: info:  [906639] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [906639]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [906639] cpu                 846     10.00     10.00      0.00        84.59          84.58
stress-ng: info:  [906639] successful run completed in 10.00s


鲲鹏物理服务器

int8
stress-ng: info:  [495243] setting to a 10 second run per stressor
stress-ng: info:  [495243] dispatching hogs: 1 cpu
stress-ng: info:  [495243] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [495243]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [495243] cpu               13003     10.00     10.00      0.00      1300.30        1300.34
stress-ng: info:  [495243] successful run completed in 10.00s
int16
stress-ng: info:  [495247] setting to a 10 second run per stressor
stress-ng: info:  [495247] dispatching hogs: 1 cpu
stress-ng: info:  [495247] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [495247]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [495247] cpu               12896     10.00     10.00      0.00      1289.60        1289.64
stress-ng: info:  [495247] successful run completed in 10.00s
int32
stress-ng: info:  [495251] setting to a 10 second run per stressor
stress-ng: info:  [495251] dispatching hogs: 1 cpu
stress-ng: info:  [495251] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [495251]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [495251] cpu               13406     10.00     10.00      0.00      1340.60        1340.65
stress-ng: info:  [495251] successful run completed in 10.00s
int64
stress-ng: info:  [495259] setting to a 10 second run per stressor
stress-ng: info:  [495259] dispatching hogs: 1 cpu
stress-ng: info:  [495259] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [495259]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [495259] cpu               13612     10.00     10.00      0.00      1361.20        1361.24
stress-ng: info:  [495259] successful run completed in 10.00s
crc16
stress-ng: info:  [495263] setting to a 10 second run per stressor
stress-ng: info:  [495263] dispatching hogs: 1 cpu
stress-ng: info:  [495263] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [495263]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [495263] cpu                7264     10.01     10.01      0.00       725.96         725.98
stress-ng: info:  [495263] successful run completed in 10.01s
float
stress-ng: info:  [495265] setting to a 10 second run per stressor
stress-ng: info:  [495265] dispatching hogs: 1 cpu
stress-ng: info:  [495265] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [495265]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [495265] cpu                8223     10.00     10.00      0.00       822.29         822.32
stress-ng: info:  [495265] successful run completed in 10.00s
longdouble
stress-ng: info:  [495270] setting to a 10 second run per stressor
stress-ng: info:  [495270] dispatching hogs: 1 cpu
stress-ng: info:  [495270] stressor       bogo ops real time  usr time  sys time   bogo ops/s     bogo ops/s
stress-ng: info:  [495270]                           (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [495270] cpu                1506     10.00     10.00      0.00       150.55         150.56
stress-ng: info:  [495270] successful run completed in 10.00s

标签:info,stress,ng,secs,IntelCPU,time,信创,算力,bogo
From: https://www.cnblogs.com/jinanxiaolaohu/p/17133520.html

相关文章