// File: /workspace/github_cpp_makefile_star2_O1/moya-lang[P]Allocator/Measure.cpp
// Function: void printTestStatus<PushFrontTest<std::forward_list<unsigned long, std::allocator<unsigned long>>>, PushFrontTest<std::forward_list<unsigned long, Moya::Allocator<unsigned long, 1024ul>>>>(char const*, PushFrontTest<std::forward_list<unsigned long, std::allocator<unsigned long>>>&, PushFrontTest<std::forward_list<unsigned long, Moya::Allocator<unsigned long, 1024ul>>>&)
void printTestStatus(const char *name, StlAllocatorContainer &stlContainer, MoyaAllocatorContainer &fastContainer)
{
    double stlRunTime = stlContainer.run();
    double moyaRunTime = fastContainer.run();

    std::cout << std::fixed;
    std::cout << name << " - Default STL Allocator : " << stlRunTime << " seconds." << std::endl;
    std::cout << name << " - Memory Pool Allocator : " << moyaRunTime << " seconds." << std::endl;
    std::cout << name << " - Gain : x" << stlRunTime / moyaRunTime << "." << std::endl;
    std::cout << std::endl;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rdx, %r14
movq %rdi, %rbx
movq %rsi, %rdi
callq 0x4784
movsd %xmm0, 0x8(%rsp)
movq %r14, %rdi
callq 0x47e4
movq 0x5717(%rip), %rax      # 0x7fd8
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movl $0xfffffefb, %esi       # imm = 0xFFFFFEFB
andl 0x18(%rax,%rdx), %esi
movsd %xmm0, (%rsp)
orl $0x4, %esi
movl %esi, 0x18(%rax,%rdx)
testq %rbx, %rbx
je 0x28fe
movq %rbx, %rdi
callq 0x2090
movq 0x56e7(%rip), %rdi      # 0x7fd8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x2110
jmp 0x2912
movq -0x18(%rcx), %rcx
leaq (%rax,%rcx), %rdi
movl 0x20(%rax,%rcx), %esi
orl $0x1, %esi
callq 0x2150
movq 0x56bf(%rip), %r14      # 0x7fd8
leaq 0x276b(%rip), %rsi      # 0x508b
movl $0x1b, %edx
movq %r14, %rdi
callq 0x2110
movq %r14, %rdi
movsd 0x8(%rsp), %xmm0
callq 0x2140
movq %rax, %r15
leaq 0x2762(%rip), %rsi      # 0x50a7
movl $0x9, %edx
movq %rax, %rdi
callq 0x2110
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x20d0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20b0
testq %rbx, %rbx
je 0x299a
movq %rbx, %rdi
callq 0x2090
movq 0x564b(%rip), %rdi      # 0x7fd8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x2110
jmp 0x29b2
movq (%r14), %rax
movq -0x18(%rax), %rax
leaq (%r14,%rax), %rdi
movl 0x20(%r14,%rax), %esi
orl $0x1, %esi
callq 0x2150
movq 0x561f(%rip), %r14      # 0x7fd8
leaq 0x26f1(%rip), %rsi      # 0x50b1
movl $0x1b, %edx
movq %r14, %rdi
callq 0x2110
movq %r14, %rdi
movsd (%rsp), %xmm0
callq 0x2140
movq %rax, %r15
leaq 0x26c3(%rip), %rsi      # 0x50a7
movl $0x9, %edx
movq %rax, %rdi
callq 0x2110
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x20d0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20b0
testq %rbx, %rbx
je 0x2a39
movq %rbx, %rdi
callq 0x2090
movq 0x55ac(%rip), %rdi      # 0x7fd8
movq %rbx, %rsi
movq %rax, %rdx
callq 0x2110
jmp 0x2a51
movq (%r14), %rax
movq -0x18(%rax), %rax
leaq (%r14,%rax), %rdi
movl 0x20(%r14,%rax), %esi
orl $0x1, %esi
callq 0x2150
leaq 0x2675(%rip), %rsi      # 0x50cd
movl $0xb, %edx
movq %r14, %rdi
callq 0x2110
movsd 0x8(%rsp), %xmm0
divsd (%rsp), %xmm0
movq %r14, %rdi
callq 0x2140
movq %rax, %rbx
leaq 0x262d(%rip), %rsi      # 0x50af
movl $0x1, %edx
movq %rax, %rdi
callq 0x2110
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x20d0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20b0
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x20d0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
jmp 0x20b0