// File: /workspace/github_c_makefile_star2_O3/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, 0x3750e(%rip)     # 0x4c4a0
movq $0x0, 0x374c7(%rip) # 0x4c464
movslq %edx, %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x14baa
movq %rax, %rdi
callq 0x14f29
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, 0x37497(%rip)     # 0x4c488
movq 0x37440(%rip), %rdi     # 0x4c438
callq 0x12e5b
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 0x37456(%rip), %rdx     # 0x4c488
movq %rdx, 0x37457(%rip)     # 0x4c490
cvtsi2ssl 0x37427(%rip), %xmm1 # 0x4c468
cvtsi2ss %rdx, %xmm0
divss 0x241a2(%rip), %xmm0    # 0x391f0
divss %xmm0, %xmm1
movl 0x3745c(%rip), %eax     # 0x4c4b4
movl 0x37452(%rip), %ecx     # 0x4c4b0
orl %eax, %ecx
movq 0x37439(%rip), %rsi     # 0x4c4a0
je 0x15084
xorps %xmm0, %xmm0
cvtss2sd %xmm1, %xmm0
testl %eax, %eax
je 0x151e9
leaq 0x246fa(%rip), %rdi     # 0x39779
jmp 0x151f0
leaq 0x24640(%rip), %rdi     # 0x396cb
xorl %r12d, %r12d
xorl %eax, %eax
movss %xmm1, 0xc(%rsp)
callq 0xb1c0
xorps %xmm0, %xmm0
cvtsi2ssq 0x373e9(%rip), %xmm0 # 0x4c490
movl 0x373bb(%rip), %esi     # 0x4c468
divss 0x2413b(%rip), %xmm0    # 0x391f0
cvtss2sd %xmm0, %xmm0
leaq 0x2461d(%rip), %rdi     # 0x396dd
movb $0x1, %al
callq 0xb1c0
movl 0x3738b(%rip), %esi     # 0x4c458
leaq 0x24632(%rip), %rdi     # 0x39706
xorl %eax, %eax
callq 0xb1c0
movl 0x3738f(%rip), %esi     # 0x4c470
leaq 0x24635(%rip), %rdi     # 0x3971d
xorl %eax, %eax
callq 0xb1c0
movl 0x37387(%rip), %esi     # 0x4c47c
leaq 0x24635(%rip), %rdi     # 0x39731
xorl %eax, %eax
callq 0xb1c0
movl $0xa, %edi
callq 0xb060
movq 0x37384(%rip), %rdi     # 0x4c498
movslq 0x37345(%rip), %rsi     # 0x4c460
leaq 0x604(%rip), %rcx       # 0x15726
movl $0x8, %edx
callq 0xb0e0
movss 0xc(%rsp), %xmm0
movl 0x37328(%rip), %ecx     # 0x4c460
testl %ecx, %ecx
jle 0x151d5
movq 0x37351(%rip), %rsi     # 0x4c498
movabsq $0x20c49ba5e353f7cf, %rbx # imm = 0x20C49BA5E353F7CF
leaq 0x245eb(%rip), %r14     # 0x39743
xorl %r13d, %r13d
movq %rbx, %rax
imulq (%rsi,%r13,8)
movq %rdx, %r15
movq %rdx, %rax
shrq $0x3f, %rax
sarq $0x7, %r15
addq %rax, %r15
movslq %r12d, %rax
cmpq %rax, %r15
jne 0x15188
leal -0x1(%rcx), %eax
cmpq %rax, %r13
je 0x15188
incq %r13
jmp 0x151cd
incq %r13
xorps %xmm0, %xmm0
cvtsi2ss %r13d, %xmm0
xorps %xmm1, %xmm1
cvtsi2ss %ecx, %xmm1
mulss 0x24052(%rip), %xmm0    # 0x391f4
divss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
movq %r14, %rdi
movl %r15d, %esi
movb $0x1, %al
callq 0xb1c0
movss 0xc(%rsp), %xmm0
movq 0x372d4(%rip), %rsi     # 0x4c498
movl 0x37296(%rip), %ecx     # 0x4c460
movl %r15d, %r12d
movslq %ecx, %rax
cmpq %rax, %r13
jl 0x1515b
cvtss2sd %xmm0, %xmm0
leaq 0x2457e(%rip), %rdi     # 0x3975e
movb $0x1, %al
callq 0xb1c0
jmp 0x151f7
leaq 0x24596(%rip), %rdi     # 0x39786
movb $0x1, %al
callq 0xb1c0
movq 0x372aa(%rip), %rax     # 0x4c4a8
movq (%rax), %rax
testq %rax, %rax
je 0x1521b
movq 0x8(%rax), %rbx
movq 0x10(%rax), %rdi
callq 0x1544e
movq %rbx, %rax
testq %rbx, %rbx
jne 0x15206
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq