优化SCLP程序的经验

  1. visualvm测试性能,找到问题所在才能更有针对性地优化。
  2. 不要完全参照论文的设定,具体的参数、排序方法、打分方法、搜索策略等等需要融会贯通,找到最适合本机的配置。
    【本次SCLP问题在于 ① 异构性的阈值设置过高,导致随随便一个强异构的算例就要构造general blocks; ② jvisualvm发现general blocks耗时大约是整个树搜索的10倍,问题不在搜索策略上,竟然在前面的基本数据处理中;? ③ blocks设为10000个,在后序遍历过程中太费时。
    ===》heterogeneity设为1左右,blocks设为500~7000,对于BR8,结果都是可接受的,一分钟多点91%。】
  3. 调参数除了常见的整五整十整百整千整万,2的n次方也是可以的。
  4. parallelStream是计算过程中用到的多线程,网上那些thread,runnable是并行服务的,我本人可能不太需要。
  5. 亲测parallelStream未必效率高,我在State和Problem类中保留了parallelStream和single thread的代码,随时可以查看,实践证明解BR8 single thread一分钟多点,parallelStream两分钟多点。
    JDK8 Stream 数据流效率分析
    JAVA8-lambda表达式-并行流,提升效率的利器?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值