-
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
关于DateTimeFormatter的性能优化方案 #22
Comments
你现在在直接优化PrinterParser;PrinterParser是内部API所以你可以随便改动,比如加new method检测是不是固定长度这样的。我感觉你既然大改PrinterParser本身,可以退一步看更大的架构,因为PrinterParser是内部的可以随意改动:可以移除具体的parse和format,换成生成bytecode需要的属性(比如固定长度等)然后加个method来帮助生成bytecode(类似string concat)。生成bytecode就自由很多,随便自定义lookup table之类的;甚至你可以只给Printer生成一套,不用parser就不给parser生成。生成bytecode用的参数和常量也很自由,只要 DateTimeFormatter.format 和 parse 的参数不变就行了。 |
我担心,太大的改动导致合入会很难,你是否可以先去帮助问下维护小组的态度 |
维护小组对你现在这个模型更反感,添加太多特殊代码;如果你像String concat一样模块化printerparser然后生成字节码这样维护性通用性应该会更高。printer parser是内部架构,推倒重构没什么大公开影响的。 |
我先完成 PR #20273 ,然后再继续做DateFormatter的优化。 https://github.com/wenshao/jdk/actions/runs/10243237093 在这里看到,SecurityManager的问题还解决,你有什么建议么? |
@wenshao 把这个文件 https://github.com/openjdk/jdk/blob/master/test/jdk/java/lang/invoke/MethodHandleProxies/jtreg.security.policy 复制到 String/concat 测试目录下, jtreg 需要读文件权限运行。不知道为什么原来没给他这个权限。 |
我试了似乎不起作用,可能我哪里没搞对,你可以帮提交个PR过来么? |
今天一直在jvmls现在才看到,我来调试下。记得到时候看下claes的jvmls演讲视频 |
哈,期待看到他的视频,什么时候才会放到youtube上啊 |
可能一两个礼拜吧,剧透下你在里面角色不小 然后SecirityManager那个我看了自己跑了,太奇怪了,没法debug(不能attach),正常报这个错误信息的地方都会加cause但这里没有。我还是有空问问claes或者别人这种错误一般怎么处理 |
PR 20273 我已经解决所有问题,包括HiddenClass卸载的问题。这个PR改动比较大,估计要更仔细的Review,后续我还要做什么?这个PR我花了很多时间,我非常期待推动它的进展 :) |
openjdk/jdk#20559 |
我刚在youtube上看了claes在JVMLS 2024的talk,感谢他提到了我们一起完成的工作,在这个过程中,我学习到了很多,也谢谢你! |
@liach
我计划对DateTimeFormatter做性能优化
openjdk/jdk#20391
就是你参与的PR20391,优化性能提升显著,同时变更的代码也非常多。可能需要分拆成多个PR来提交,你帮看下怎么推进才合适。
The text was updated successfully, but these errors were encountered: