-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
请帮忙提名OpenJDK Committer #21
Comments
现在补丁和以前的比的确更好了,不像以前改改改超界,加一堆难维护的代码这样的。现在优化的确简洁明了,带来的代码简洁提升维护简易度的价值甚至大于优化的性能价值。 这次 openjdk/jdk#20321 我也犯错了,意识到注释也需要看看,经常注释写出来别人评论才发现对代码的理解有误。所以以后我们最好 我问了下别的committer,他们感觉因为你是弄优化的,更适合claes这样的专业优化人员提名。我个人偏功能性内容,而且资历偏低,有点跨领域,主要弄reflection和classfile api。同时因为你的patch一般是你自己开ticket加"performance optimization",但是openjdk的角色是reference implementation(更加关注specification和behavior,官方标准),一般认为价值没有修那些影响行为的JBS上已知的bug(比如你发现然后修的openjdk/jdk#16033)高。然后有几个之前的补丁是补丁有问题擦屁股(比如openjdk/jdk#14745),这种一般也不算significant。 大家推荐你继续发 openjdk/jdk#16033 这样修规范和行为漏洞和 openjdk/jdk#20322 这样清理维护的补丁;一般JDK本身的性能提升是作为清理维护附带作用,如果库实在追求性能一般推荐直接用 |
@wenshao 你现在发的补丁太多了,大家review不过来了。你说还有很多优化要提交补丁,这个我推荐你这样处理,暂时不急着开一堆补丁;搞个文档(比如我这里开个issue)记录所有优化,过段时间积累一些,然后再看怎么分补丁。 |
|
我是以下开源项目的作者:
我的领域包括:
最近一年参与OpenJDK,是希望把我字符串处理相关的经验技巧贡献到OpenJDK项目来,我希望在如下方面做贡献:
|
你水平极高,学习能力更是惊人,一下子就会写字节码了。不过在字符串处理方面,核心库这边看法是这样的:
是, openjdk邮箱可以联系,但是这个地址相当于中转,信会从openjdk关联邮箱收到。census里面用户名。 然后还有一点忘了提了:大家看到优化不知道起因。比如他们 test failure 改代码,会说 Xxx test failed 所以打补丁;你提交性能优化也是同理,说在什么大环境和实际应用中性能是问题,补丁带来了性能提升。同时benchmark也只是特定应用情况下的性能分析,所以benchmark的说服力经常没那么高。 |
我在fastjson用到了asm bytecode,在classfile新提供的API类似,切换过来很容易。
|
一般核心库标准实现怕复杂度增加;毕竟是reference implementation,主要保证行为正确(所以我们改javadoc算改定义,要经过csr“兼容性和定义review”),稍微有复杂度的优化会让调整行为的代码改动更难。尤其是有hot path这种专用代码路径让调整行为正确和确保行为一致性难上加难,比如你的 PR 19956。
如果是同类改动,大规模改动没什么影响:openjdk/jdk#4433 openjdk/jdk#4552
这个我解释一下:claes是专门负责性能优化的,但是rogerriggs、naotoj、我和大多数改动核心库的人是维护核心库本身(就是关心reference implementation的,甚至关心代码中留言的正确性,因为要便于理解和维护)同时还在进行新功能开发,比如rogerriggs现在在开发valhalla。所以我之前说如果你专心研究性能优化,claes提名更适合。 我个人认为你可以私下联系claes跟他分享推荐下你想准备的大优化,让他先确认下可以接受;比如字符串拼接这类是他负责和维护的,所以他对这类优化更开放。与此同时java.time和数字类现在没这类优化计划,开发人员也忙于其他项目。 感觉很多优化很可能你开个draft pr,这样讨论pr可以分享代码同时你就算经常提交也不会刷邮件,学习openjdk/jdk#19625,是一个JEP的样本代码,在大范围review前先有兴趣的人来看,然后初步看没问题后再开稳定pr。你未来的大型优化补丁也应该会这样,先claes和有空的人(类似我)看draft没问题后再开正式pr(一般draft里面评论历史太多,难翻到最新内容),减少给核心库区域维护者的review压力。 |
java.time的相关优化,我尽量挑一些简单直接的改进,比如我新提的这个draft PR #20368 。我想看下他们开放性,再决定是否对DateTimeFormatter做大的改进,比如你说的基于MethodHandle或者ByteCode对DateTimeFormatter做优化。 claes应该是在准备JVMLS 2024的分享,我计划等他结束后再找他 |
现在主要问题不是开放性,是你现在补丁数量就太多了,review不过来了 claes的准备内容在 https://cl4es.github.io/presentations/jvmls2024/draft.html 公开,实际上和你现在试验的东西很类似。可以联系一下他。 |
@liach
https://github.com/openjdk/jdk/pulls?q=is%3Apr+author%3Awenshao+is%3Aclosed+label%3Aintegrated
我提交给OpenJDK被合入的PR已经22个了,你是否可以帮我提名Committer?
The text was updated successfully, but these errors were encountered: