// File: /workspace/github_c_makefile_star2_O1/zhou-yuxin[P]redis-aof-no-cow/src/redis-benchmark.c
// Function: benchmark
static void benchmark(char *title, char *cmd, int len) {
    client c;

    config.title = title;
    config.requests_issued = 0;
    config.requests_finished = 0;

    c = createClient(cmd,len,NULL);
    createMissingClients(c);

    config.start = mstime();
    aeMain(config.el);
    config.totlatency = mstime()-config.start;

    showLatencyReport();
    freeAllClients();
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rsi, %rax
movq %rdi, 0x372e3(%rip)     # 0x4c4a0
movq $0x0, 0x3729c(%rip) # 0x4c464
movslq %edx, %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x14de5
movq %rax, %rdi
callq 0x15154
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
xorl %esi, %esi
callq 0xb200
imulq $0x3e8, (%rbx), %rcx    # imm = 0x3E8
movabsq $0x20c49ba5e353f7cf, %r14 # imm = 0x20C49BA5E353F7CF
movq %r14, %rax
imulq 0x8(%rbx)
movq %rdx, %rax
shrq $0x3f, %rax
sarq $0x7, %rdx
addq %rax, %rdx
addq %rcx, %rdx
movq %rdx, 0x3726c(%rip)     # 0x4c488
movq 0x37215(%rip), %rdi     # 0x4c438
callq 0x13098
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
xorl %esi, %esi
callq 0xb200
imulq $0x3e8, (%rbx), %rcx    # imm = 0x3E8
movq %r14, %rax
imulq 0x8(%rbx)
movq %rdx, %rax
shrq $0x3f, %rax
sarq $0x7, %rdx
addq %rax, %rdx
addq %rcx, %rdx
subq 0x3722b(%rip), %rdx     # 0x4c488
movq %rdx, 0x3722c(%rip)     # 0x4c490
cvtsi2ssl 0x371fc(%rip), %xmm1 # 0x4c468
cvtsi2ss %rdx, %xmm0
divss 0x23f2b(%rip), %xmm0    # 0x391a4
divss %xmm0, %xmm1
movl 0x37231(%rip), %eax     # 0x4c4b4
movl 0x37227(%rip), %ecx     # 0x4c4b0
orl %eax, %ecx
movq 0x3720e(%rip), %rsi     # 0x4c4a0
je 0x152af
xorps %xmm0, %xmm0
cvtss2sd %xmm1, %xmm0
testl %eax, %eax
je 0x15412
leaq 0x2449c(%rip), %rdi     # 0x39746
jmp 0x15419
leaq 0x243e2(%rip), %rdi     # 0x39698
xorl %r12d, %r12d
xorl %eax, %eax
movss %xmm1, 0xc(%rsp)
callq 0xb1c0
xorps %xmm0, %xmm0
cvtsi2ssq 0x371be(%rip), %xmm0 # 0x4c490
movl 0x37190(%rip), %esi     # 0x4c468
divss 0x23ec4(%rip), %xmm0    # 0x391a4
cvtss2sd %xmm0, %xmm0
leaq 0x243bf(%rip), %rdi     # 0x396aa
movb $0x1, %al
callq 0xb1c0
movl 0x37160(%rip), %esi     # 0x4c458
leaq 0x243d4(%rip), %rdi     # 0x396d3
xorl %eax, %eax
callq 0xb1c0
movl 0x37164(%rip), %esi     # 0x4c470
leaq 0x243d7(%rip), %rdi     # 0x396ea
xorl %eax, %eax
callq 0xb1c0
movl 0x3715c(%rip), %esi     # 0x4c47c
leaq 0x243d7(%rip), %rdi     # 0x396fe
xorl %eax, %eax
callq 0xb1c0
movl $0xa, %edi
callq 0xb060
movq 0x37159(%rip), %rdi     # 0x4c498
movslq 0x3711a(%rip), %rsi     # 0x4c460
leaq 0x603(%rip), %rcx       # 0x15950
movl $0x8, %edx
callq 0xb0e0
movss 0xc(%rsp), %xmm0
movl 0x370fd(%rip), %ecx     # 0x4c460
testl %ecx, %ecx
jle 0x153fe
movabsq $0x20c49ba5e353f7cf, %rbx # imm = 0x20C49BA5E353F7CF
leaq 0x24394(%rip), %r14     # 0x39710
xorl %r13d, %r13d
movq 0x37112(%rip), %rdx     # 0x4c498
movq %rbx, %rax
imulq (%rdx,%r13,8)
movq %rdx, %r15
movq %rdx, %rax
shrq $0x3f, %rax
sarq $0x7, %r15
addq %rax, %r15
movslq %r12d, %rax
cmpq %rax, %r15
setne %al
leal -0x1(%rcx), %edx
cmpq %rdx, %r13
sete %dl
orb %al, %dl
cmpb $0x1, %dl
jne 0x153ef
leal 0x1(%r13), %eax
xorps %xmm0, %xmm0
cvtsi2ss %eax, %xmm0
xorps %xmm1, %xmm1
cvtsi2ss %ecx, %xmm1
mulss 0x23dd7(%rip), %xmm0    # 0x391a8
divss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
movq %r14, %rdi
movl %r15d, %esi
movb $0x1, %al
callq 0xb1c0
movss 0xc(%rsp), %xmm0
movl %r15d, %r12d
incq %r13
movslq 0x37067(%rip), %rcx     # 0x4c460
cmpq %rcx, %r13
jl 0x1537f
cvtss2sd %xmm0, %xmm0
leaq 0x24322(%rip), %rdi     # 0x3972b
movb $0x1, %al
callq 0xb1c0
jmp 0x15420
leaq 0x2433a(%rip), %rdi     # 0x39753
movb $0x1, %al
callq 0xb1c0
movq 0x37081(%rip), %rax     # 0x4c4a8
movq (%rax), %rax
testq %rax, %rax
je 0x15444
movq 0x8(%rax), %rbx
movq 0x10(%rax), %rdi
callq 0x15680
movq %rbx, %rax
testq %rbx, %rbx
jne 0x1542f
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq