|
@@ -124,6 +124,7 @@ public class RankStrategyXGBAutoUpdateModel688 extends RankStrategyXGBBasic {
|
|
|
}
|
|
|
|
|
|
time2 = System.currentTimeMillis();
|
|
|
+ // feature3
|
|
|
CountDownLatch cdl = new CountDownLatch(adRankItems.size());
|
|
|
for (AdRankItem item : adRankItems) {
|
|
|
ThreadPoolFactory.defaultPool().submit(() -> {
|
|
@@ -215,7 +216,7 @@ public class RankStrategyXGBAutoUpdateModel688 extends RankStrategyXGBBasic {
|
|
|
}
|
|
|
|
|
|
time2 = System.currentTimeMillis();
|
|
|
-
|
|
|
+ // feature3
|
|
|
CountDownLatch cdl2 = new CountDownLatch(adRankItems.size());
|
|
|
for (AdRankItem item : adRankItems) {
|
|
|
ThreadPoolFactory.defaultPool().submit(() -> {
|
|
@@ -238,17 +239,18 @@ public class RankStrategyXGBAutoUpdateModel688 extends RankStrategyXGBBasic {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // feature3
|
|
|
+
|
|
|
+ // feature4
|
|
|
long time3 = System.currentTimeMillis();
|
|
|
// 分桶
|
|
|
this.readBucketFile();
|
|
|
- long time31 = System.currentTimeMillis();
|
|
|
+ long time41 = System.currentTimeMillis();
|
|
|
userFeatureMap = this.featureBucket(userFeatureMap);
|
|
|
for (AdRankItem adRankItem : adRankItems) {
|
|
|
Map<String, String> featureMap = adRankItem.getFeatureMap();
|
|
|
adRankItem.setFeatureMap(this.featureBucket(featureMap));
|
|
|
}
|
|
|
- long time4 = System.currentTimeMillis();
|
|
|
+ long time42 = System.currentTimeMillis();
|
|
|
// 打分排序
|
|
|
// getScorerPipeline
|
|
|
List<AdRankItem> result = ScorerUtils.getScorerPipeline(ScorerUtils.XGBOOST_SCORE_CONF_20240909).scoring(sceneFeatureMap, userFeatureMap, adRankItems);
|
|
@@ -294,9 +296,10 @@ public class RankStrategyXGBAutoUpdateModel688 extends RankStrategyXGBBasic {
|
|
|
}
|
|
|
|
|
|
long time6 = System.currentTimeMillis();
|
|
|
- log.info("cost={}, feature1={}, feature2={}, feature3={}, feature4={}, getScorerPipeline={}, loop={}, " +
|
|
|
- "adIdSize={}, adRankItemsSize={}",
|
|
|
- time6 - start, time1 - start, time2 - time1, time3 - time2, time4 - time3, time5 - time4,
|
|
|
+ log.info("cost={}, feature1={}, feature2={}, feature3={}, feature41={}, feature42={}, getScorerPipeline={}, " +
|
|
|
+ "loop={}, adIdSize={}, adRankItemsSize={}",
|
|
|
+ time6 - start, time1 - start, time2 - time1, time3 - time2, time41 - time3,
|
|
|
+ time42 - time41, time5 - time42,
|
|
|
time6 - time5, request.getAdIdList().size(), adRankItems.size());
|
|
|
|
|
|
result.sort(ComparatorUtil.equalsRandomComparator());
|