// File: wichtounet[P]articles/src/vector_list_update_1/bench.cpp
// Function: bench_destruction<Trivial<8>>::run()
static void run(){
        new_graph<T>("destruction", "us");

        auto sizes = {100000, 200000, 300000, 400000, 500000, 600000, 700000, 800000, 900000, 1000000};
        bench<std::vector<T>, microseconds, SmartFilled, SmartDelete>("vector", sizes);
        bench<std::list<T>,   microseconds, SmartFilled, SmartDelete>("list",   sizes);
        bench<std::deque<T>,  microseconds, SmartFilled, SmartDelete>("deque",  sizes);
        bench<plf::colony<T>,  microseconds, SmartFilled, SmartDelete>("colony",  sizes);
    }

// Assembly:
subq $0x168, %rsp            # imm = 0x168
leaq 0x147(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x5370
movq 0x28(%rsp), %rdx
leaq 0x48465(%rip), %rsi     # 0x17f66a
leaq 0x148(%rsp), %rdi
callq 0x52a0
jmp 0x137214
leaq 0x10f(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x5370
movq 0x20(%rsp), %rdx
leaq 0x4829c(%rip), %rsi     # 0x17f4ce
leaq 0x110(%rsp), %rdi
callq 0x52a0
jmp 0x137241
leaq 0x148(%rsp), %rdi
leaq 0x110(%rsp), %rsi
callq 0x12830
jmp 0x137258
leaq 0x110(%rsp), %rdi
callq 0x5150
leaq 0x10f(%rsp), %rdi
callq 0x5240
leaq 0x148(%rsp), %rdi
callq 0x5150
leaq 0x147(%rsp), %rdi
callq 0x5240
movabsq $0xf4240000dbba0, %rax  # imm = 0xF4240000DBBA0
movq %rax, 0xf0(%rsp)
vmovdqu 0x48f46(%rip), %ymm0    # 0x1801ec
vmovdqu %ymm0, 0xd0(%rsp)
leaq 0xd0(%rsp), %rax
movq %rax, 0xf8(%rsp)
movq $0xa, 0x100(%rsp)
leaq 0xaf(%rsp), %rdi
movq %rdi, 0x18(%rsp)
vzeroupper
callq 0x5370
movq 0x18(%rsp), %rdx
leaq 0x481e5(%rip), %rsi     # 0x17f4d1
leaq 0xb0(%rsp), %rdi
callq 0x52a0
jmp 0x1372fb
leaq 0xb0(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x1375e0
jmp 0x137312
leaq 0xb0(%rsp), %rdi
callq 0x5150
leaq 0xaf(%rsp), %rdi
callq 0x5240
leaq 0x87(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0x5370
movq 0x10(%rsp), %rdx
leaq 0x4818e(%rip), %rsi     # 0x17f4d8
leaq 0x88(%rsp), %rdi
callq 0x52a0
jmp 0x137359
leaq 0x88(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x137810
jmp 0x137370
leaq 0x88(%rsp), %rdi
callq 0x5150
leaq 0x87(%rsp), %rdi
callq 0x5240
leaq 0x5f(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x5370
movq 0x8(%rsp), %rdx
leaq 0x48138(%rip), %rsi     # 0x17f4dd
leaq 0x60(%rsp), %rdi
callq 0x52a0
jmp 0x1373b1
leaq 0x60(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x137a40
jmp 0x1373c5
leaq 0x60(%rsp), %rdi
callq 0x5150
leaq 0x5f(%rsp), %rdi
callq 0x5240
leaq 0x37(%rsp), %rdi
movq %rdi, (%rsp)
callq 0x5370
movq (%rsp), %rdx
leaq 0x48100(%rip), %rsi     # 0x17f4f2
leaq 0x38(%rsp), %rdi
callq 0x52a0
jmp 0x1373fe
leaq 0x38(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x137c70
jmp 0x137412
leaq 0x38(%rsp), %rdi
callq 0x5150
leaq 0x37(%rsp), %rdi
callq 0x5240
addq $0x168, %rsp            # imm = 0x168
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x138(%rsp)
movl %eax, 0x134(%rsp)
jmp 0x137495
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x138(%rsp)
movl %eax, 0x134(%rsp)
jmp 0x13747b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x138(%rsp)
movl %eax, 0x134(%rsp)
leaq 0x110(%rsp), %rdi
callq 0x5150
leaq 0x10f(%rsp), %rdi
callq 0x5240
leaq 0x148(%rsp), %rdi
callq 0x5150
leaq 0x147(%rsp), %rdi
callq 0x5240
jmp 0x1375b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x138(%rsp)
movl %eax, 0x134(%rsp)
jmp 0x1374de
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x138(%rsp)
movl %eax, 0x134(%rsp)
leaq 0xb0(%rsp), %rdi
callq 0x5150
leaq 0xaf(%rsp), %rdi
callq 0x5240
jmp 0x1375b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x138(%rsp)
movl %eax, 0x134(%rsp)
jmp 0x137527
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x138(%rsp)
movl %eax, 0x134(%rsp)
leaq 0x88(%rsp), %rdi
callq 0x5150
leaq 0x87(%rsp), %rdi
callq 0x5240
jmp 0x1375b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x138(%rsp)
movl %eax, 0x134(%rsp)
jmp 0x13756a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x138(%rsp)
movl %eax, 0x134(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x5150
leaq 0x5f(%rsp), %rdi
callq 0x5240
jmp 0x1375b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x138(%rsp)
movl %eax, 0x134(%rsp)
jmp 0x1375aa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x138(%rsp)
movl %eax, 0x134(%rsp)
leaq 0x38(%rsp), %rdi
callq 0x5150
leaq 0x37(%rsp), %rdi
callq 0x5240
movq 0x138(%rsp), %rdi
callq 0x5360
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)