Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

今日目标:上午完成单线程debug和massif和operf;下午和晚上完成多线程code+debug

上午

  • 1,2,3,4
    • check start and spine_ty semantics
    • follow one small case for debug
  • 5,6,7,8
    • 打桩
    • operf+massif
  • 9,10
    • put collect into output
    • run+operf

下午

  • 1
    • 分析operf
    • 新的逻辑run+operf
    • 新的choice code+run+operf
  • 2,3,4
    • 分析operf
    • 设计和code多线程

晚上

  • 1,2,3
    • code多线程
    • debug
    • 打桩
    • run(8 thread)+operf(operf貌似不需要)
    • run 32 thread
      去休息一下!
  • 4
    • 不分线程operf,寻找没有scale up的原因

写一个最暴力的,仅依赖config信息,验证输出正确性

massif on choice3

test_3
21.00% parent.resize Case2Tree.cpp:120
13.32% old_spine_id.push_back Case2Tree.cpp:109
29.97%+16.61% old_spine_id2new[ty][old_id] Case2Tree.cpp:108

operf on choice3

lambda:
Case2Tree::Graph::risky(std::vector<unsigned int, std::allocator >, std::vector<Case2Tree::Graph::BoardSafty, std::allocatorCase2Tree::Graph::BoardSafty >, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)::{lambda()#3}::operator()() const
数字在这里

not define PUT_COLLECT_TO_OUTPUT

reach_from_spine: 2,263,230us
39.4811 self
12.1398 visited[] parent[] boardId[] leaf_offset[]
3.2950 board_safty[]

scan_safety(reset_visited): 42,471us
45.7143 self
8.5714 board_safty[]

collect_pattern(scan_visited): 4,469,802us
39.8587 edges[].push_back()
24.3866 self
4.9051 visited[] parent[]
4.5813 edges[] (edges has pre-allocate)

define PUT_COLLECT_TO_OUTPUT

reach_from_spine/scan_safety和not define一样

collect_pattern(scan_visited): 1,638,658us
40.1552 self
19.5567 visited[] parent[]

new define PUT_COLLECT_TO_OUTPUT (comment ptn_belong[parent[v]] = leaf;)

reach_from_spine/scan_safety和not define一样

collect_pattern(scan_visited): 1,115,422us
43.3635 self
13.1032 visited[] parent[]

operf on new choice3

lambda:
Case2Tree::Graph::risky(std::vector<unsigned int, std::allocator >, std::vector<Case2Tree::Graph::BoardSafty, std::allocatorCase2Tree::Graph::BoardSafty >, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)::{lambda()#2}::operator()() const
数字在这里

reach_from_spine: 3,243,857us
33.5102 self 1,083,448
15.2549 init visited 493,066
13.5878 visited[] parent[] ptn_belong[] 441,164
boardId[] leaf_offset[]
2.1331 board_safty[] 69,094

scan_safety: 36,062us
45.9459 self
8.1081 board_safty[]

no collect_pattern

operf on multi thread

32 thread
Task: 40% on lock related
23.7422 self
15.0670 shared_lock
12.8931 ~shared_lock
8.5413 parent[] visited[] ptn_belong[]
6.0671 unique_lock
5.7564 ~unique_lock
1.0691 visited_mut[] board_safty_mut[]

评论