https://www.bilibili.com/video/BV1vr4y1K782
此次测试公分为了两部分,本地测了一波,阿里云服务器上测了一波。 并且还跟某流行框架做了比较。
有兴趣的可以看看哦。
1
xuanbg 2021-02-01 10:35:08 +08:00
框架性能好没鸟用,好用易用才重要。这还是没有数据库访问的,加上数据库,性能差异就更微乎其微了。
|
2
focuxin 2021-02-01 11:35:07 +08:00 1
现在做开源总是被人泼凉水不知道是什么风气,我感觉挺好的啊,经常刷到题主的帖子
|
4
Joker123456789 OP @xuanbg
首先,我承认世界上没有完美的东西,我也不会自大到认为这个东西很牛逼。 但是我给你个建议吧。 你可以试用以后,把你认为不好用,不易用的地方列出个一二,这样才是正确的交流。 然后对于你说的数据库这块,你可以自己连上数据库自己亲自测一下,然后把测试报告贴出来, 你拿着测试报告来骂我 ,我也比较好接受 而且这样我也没有回嘴的余地。 但你现在是凭借主观臆断,以及内心对外物的抵制情绪,直接吐槽不好用,不易用。 我想说 没有人有义务被你喷的。 |
5
luozic 2021-02-01 13:10:48 +08:00
nice,实际按 oracle 公开的 ppt,Java 并发的未来是 project loom 。 不过这货 jdk 17 能不能上是个问题,如果 jdk17 上了,估计有不少项目有一定的升级动力。
|
6
luozic 2021-02-01 13:11:55 +08:00
|
7
xuanbg 2021-02-01 13:21:56 +08:00 1
@Joker123456789 咦?我有喷什么了吗?那一句话不是在描述事实?我也没说你的框架不好用啊。然后,数据库性能好不好和你框架有个什么关系?在一个请求的整个数据流程中,框架占的时间比例本来就很低很低。框架性能提高 1 万倍,能缩短请求时间一半吗?
|
8
abersheeran 2021-02-01 13:25:54 +08:00
@Joker123456789 不用理他,这种典型是自己搞不出来,就给别人挑刺试图让自己觉得别人的水平跟他一样低,以满足自己的心理平衡。
|
9
byte10 2021-02-01 13:34:21 +08:00
@luozic 你是高手,能说出 loom,说明对协程,nio 都有了解。实际上 loom 只不过是协程,让代码好写一些,kotlin 有实现。协程并没有给高并发带来性能上的 提升,只是把异步变成了同步编程。异步编程才是性能的极限。当然协程也是没多大的损失,也许就是千分之一,百分之一。可惜 java 不争气,遥遥无期。
|
10
proxychains 2021-02-01 13:35:32 +08:00
@Joker123456789 杠精无处不在.直接 block 就行.
|
12
icyalala 2021-02-01 13:40:00 +08:00
建议把 benchmark 代码放 Github,结果也输出个 Chart 放上去。
|
13
Joker123456789 OP |
14
Varobjs 2021-02-01 14:07:59 +08:00 2
我觉得一楼没杠啊,单纯说框架性能确实没啥鸟用,感觉只有一个推广吹的用处。
为什么很多人那么敏感 |
15
hronro 2021-02-01 14:16:55 +08:00
如果是你自己些的框架,建议可以给 TechEmpower 的 Benchmark 提一波 PR,把你自己的框架加进去,这个算是比较知名的 Web 框架性能测试了,对比的也比较全面:
https://github.com/TechEmpower/FrameworkBenchmarks |
16
zoharSoul 2021-02-01 14:22:28 +08:00
测试包放百度网盘我也是惊呆了...
|
17
Joker123456789 OP |
18
abersheeran 2021-02-01 17:36:54 +08:00
@Varobjs 你费精力做了个无偿给大家用的东西,别人上来一句“xxx 好,没鸟用”,你会怎么想?没有直接开骂我觉得这已经很有涵养了。
|
19
Varobjs 2021-02-01 17:55:38 +08:00 1
@abersheeran 如果只说“xx 不好,没鸟用” 确实恶心,但是人家没说你框架没鸟用,也没说性能没鸟用,这不是限定条件了吗,“单纯”比较框架性能(可能现在网上太多 xx 框架性能吊打 xx 的文章),如果但凡别人说一点不好都是杠,建议只看 1024 网站,都是楼主好人
|
20
abersheeran 2021-02-01 18:37:40 +08:00 2
@Varobjs 关键是他用过了吗?他能说出什么实际上的缺点吗?一句人云亦云的“框架性能没鸟用”,这不就是泼冷水吗?同样的,不管你做什么,我都可以说“你做这个有鸟用,能赚到深圳一套房吗?你学这个有鸟用,能赚到北京一套四合院吗?”你什么感受?
都说中国开源氛围不行,这就是最直接的表现。无论是谁的开源项目,只要没损害自身的利益,起码的尊重还是要有的吧?没人逼着谁用什么项目,但是进来直接泼冷水是什么意思? 有时候真觉得某些中国人就不配有中文的开源项目用。一点尊重都没有。 |
21
xuanbg 2021-02-02 09:00:31 +08:00
@abersheeran 我费心思费精力写的开源项目多了,欢迎你来实事求是地喷“没鸟用”。如果你在 v2 连我的 github 都找不到,那我也只能呵呵了。
类似楼主的框架,本身就应该在功能定位上发力,而不是在性能。而且我绝不认为这一点认知是错误的,因为显而易见,即使框架处理时间为 0,你的接口响应时间最多能减少几个毫秒?说起来吊得很,性能对比 xxx 框架提升 xx 倍,实际在项目中的效果呢???这种盲目攀比性能的歪风邪气,可以休矣。当然,如果你有什么理由可以拿出来探讨。开源是共享不是施舍,没必要高高在上吧?至于玻璃心,就更要不得了。 |
22
abersheeran 2021-02-02 09:32:41 +08:00
@xuanbg 我不是 Java 用户,看了一眼你的主页,都是 Java 项目,我用不上。但是我对你的项目起码能保持最基本的尊重——“不泼冷水”。
我们用的语言不一样,“框架的性能对比没什么大用”这种事也能达成一致。但是你是否考虑过性能对比是最重要的宣传方法之一?拿 Python 圈这半年火遍全球的 Web 框架 FastAPI 来说,这玩意真有什么技术上的突破吗?它的功能之前的框架也有,它的爆火是因为什么我不知道。但我知晓的许多人认识它、使用它,是因为它的宣传语:“跟 Golang 一样快”。这是不是一种基于性能对比的宣传语?甚至它还是虚假的。但是不妨碍它的广泛传播。它甚至被微软里搞 AI 的人看上,放在微软的部分核心产品里使用。它的营销如何,事实胜于雄辩。但是如果它刚出来的时候,一群人对着它泼冷水,“性能好没鸟用”,“你没有 golang 快”,把作者喷到心态炸了,哪有今天几万颗星的成就? 如上所说,我不是 Java 用户,我跟这哥们的框架一毛钱关系都没有。我本可以不浪费时间在这种东西上,但是我实在是不想看到这种风气。对别人免费开源的项目泼冷水的风气。 |
23
Joker123456789 OP @xuanbg
你看,我这昨天刚给你道过歉,你又说这种话了。 哎~~,虽然你回复不是我,但是你们聊的话题是围绕这个帖子展开的,也算跟我有关系吧。 你的真实意思可能是“一个框架光性能好没鸟用”, 但是你字里行间透露出的意思就是“这个帖子里的这个框架没鸟用, 发这个性能测试就是在炫技,吹嘘自己有多快” 你在表达上可能有点问题。 以上是我给你的建议。 你说“你费心思费精力写的开源项目多了,欢迎别人来实事求是地喷 没鸟用”, 到了你头上你也想让别人 [实事求是] 来喷你了不是? 怎么你喷别人 [就不知道要实事求是] 呢? 你用一用,体验一下,然后 实事求是,有理有据的来说 没鸟用 好吗? 最好能说出具体哪里没鸟用, 这我都是欢迎的,咱也不是不讲道理的人。 还有一点啊,如果一个框架 连性能如何 都不知道,你不觉得有点虚吗? 起码跟主流框架相差不大 才行吧,这是底线。这也是我公布性能测试的最大原因。 却被你理解成在这炫技, 而且我也没达到炫技的程度啊,在本地测试仅仅比 springboot 多了 2000 个吞吐量,服务器上测试 受带宽影响 性能几乎差不多了。 只是 CPU 和内存占用比 springboot 小了 3 倍。 我现在都怀疑你不仅没体验我的框架,甚至连视频都没看 就开始发表见解了。 程序的性能并非你说的那么无关紧要,不然为何要一代代的升级 JVM,有了 BIO,还要有 NIO, AIO ? |
24
xuanbg 2021-02-02 11:28:27 +08:00
@Joker123456789 我也给你道个歉,确实语气上容易让人误解。性能这个东西有些地方是不惜代价越高越好,有些地方是适可而止才是最好的。性能不是框架的全部,更重要的是易用和好用。我绝没有你的框架不好用的不易用的意思,只是建议你在这两方面多下功夫和宣传而已。
好吧,再次给你道歉。 |
25
xuanbg 2021-02-02 11:31:40 +08:00
@abersheeran ok,我明白你的意思了,也给你道个歉。
|
26
xuanbg 2021-02-02 11:35:03 +08:00
@abersheeran 虽然是 Java 项目,但与业务无关,属于业务的基础支撑。如果要搞一个微服务,那么在我的项目的基础上,就可以只关注业务了。那些支撑业务的数据,譬如商户、用户、权限等等,都可以简单配置一下就有了。
|