Sorted summary for file /box/solution-bin ---------------------------------------------- 27.28 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1754 22.75 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1755 17.73 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1757 2.76 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:27 2.60 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/iter/adapters/filter.rs:79 2.53 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:31 2.46 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/uint_macros.rs:2494 2.43 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1723 2.40 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/pattern.rs:439 2.30 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1716 2.22 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/uint_macros.rs:923 2.19 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/pattern.rs:458 2.17 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/pattern.rs:0 2.07 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:0 1.77 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/iter.rs:658 1.60 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1756 1.18 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/iter/traits/accum.rs:53 0.53 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/iter.rs:0 Samples | Source code & Disassembly of /box/solution-bin for cpu_core/cycles/P, cpu_core/mem_load_retired.l3_miss/P, cpu_core/br_misp_retired.all_branches/P, dummy:u (3045 samples, percent: local period) --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---- : : : : 3 Disassembly of section .text: : : 5 0000000000014c50 : : 6 use std::io::Read; : : 8 fn main() { 0 0 0 0 : 14c50: push rbp 0 0 0 0 : 14c51: mov rbp,rsp 0 0 0 0 : 14c54: push r15 0 0 0 0 : 14c56: push r14 0 0 0 0 : 14c58: push r13 0 0 0 0 : 14c5a: push r12 0 0 0 0 : 14c5c: push rbx 0 0 0 0 : 14c5d: sub rsp,0x48 0 0 0 0 : 14c61: mov QWORD PTR [rbp-0x60],0x0 0 0 0 0 : 14c69: mov QWORD PTR [rbp-0x58],0x1 0 0 0 0 : 14c71: mov QWORD PTR [rbp-0x50],0x0 : 20 let mut input = String::new(); : 21 std::io::stdin().read_to_string(&mut input).unwrap(); 0 0 0 0 : 14c79: call QWORD PTR [rip+0x417c1] # 56440 <_DYNAMIC+0x248> 0 0 0 0 : 14c7f: mov QWORD PTR [rbp-0x38],rax 0 0 0 0 : 14c83: lea rdi,[rbp-0x38] 0 0 0 0 : 14c87: lea rsi,[rbp-0x60] 0 0 0 0 : 14c8b: call QWORD PTR [rip+0x417b7] # 56448 <_DYNAMIC+0x250> 0 0 0 0 : 14c91: cmp rax,0x1 0 0 0 0 : 14c95: je 14ef4 0 0 0 0 : 14c9b: mov r14,QWORD PTR [rbp-0x58] 0 0 0 0 : 14c9f: mov rbx,QWORD PTR [rbp-0x50] 0 0 0 0 : 14ca3: xor r15d,r15d 0 0 0 0 : 14ca6: mov r12d,0xa 0 0 0 0 : 14cac: mov QWORD PTR [rbp-0x68],0x0 0 0 0 0 : 14cb4: xor r13d,r13d 0 0 0 0 : 14cb7: jmp 14cd1 0 0 0 0 : 14cb9: xor eax,eax 0 0 0 0 : 14cbb: nop DWORD PTR [rax+rax*1+0x0] 36 0 0 0 : 14cc0: add QWORD PTR [rbp-0x68],rax // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/iter/traits/accum.rs:53 0 0 0 0 : 14cc4: mov r13,rsi 54 0 0 0 : 14cc7: cmp BYTE PTR [rbp-0x2c],0x0 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/iter.rs:658 0 0 0 0 : 14ccb: jne 14e6e 16 0 0 0 : 14cd1: mov al,0x1 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/iter.rs:0 0 0 0 0 : 14cd3: mov DWORD PTR [rbp-0x2c],eax 0 0 0 0 : 14cd6: cmp rbx,r15 68 0 0 0 : 14cd9: jae 14cec // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/uint_macros.rs:923 0 0 0 0 : 14cdb: jmp 14da8 0 0 0 0 : 14ce0: mov r15,rsi 0 0 0 0 : 14ce3: cmp rsi,rbx 0 0 0 0 : 14ce6: ja 14da5 0 0 0 0 : 14cec: mov rdx,rbx 0 0 0 0 : 14cef: sub rdx,r15 0 0 0 0 : 14cf2: lea rsi,[r14+r15*1] 0 0 0 0 : 14cf6: cmp rdx,0x10 84 0 0 0 : 14cfa: jae 14d30 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:27 0 0 0 0 : 14cfc: xor ecx,ecx 0 0 0 0 : 14cfe: test rdx,rdx 0 0 0 0 : 14d01: je 14d21 0 0 0 0 : 14d03: data16 data16 data16 cs nop WORD PTR [rax+rax*1+0x0] 0 0 0 0 : 14d10: cmp BYTE PTR [rsi+rcx*1],0xa 0 0 0 0 : 14d14: je 14d46 0 0 0 0 : 14d16: inc rcx 0 0 0 0 : 14d19: cmp rdx,rcx 0 0 0 0 : 14d1c: jne 14d10 0 0 0 0 : 14d1e: mov rcx,rdx 0 0 0 0 : 14d21: xor eax,eax 0 0 0 0 : 14d23: cmp rax,0x1 0 0 0 0 : 14d27: je 14d60 0 0 0 0 : 14d29: jmp 14da0 0 0 0 0 : 14d2b: nop DWORD PTR [rax+rax*1+0x0] 0 0 0 0 : 14d30: mov edi,0xa 77 0 0 0 : 14d35: call QWORD PTR [rip+0x41715] # 56450 <_DYNAMIC+0x258> // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:31 0 0 0 0 : 14d3b: mov rcx,rdx 0 0 0 0 : 14d3e: cmp rax,0x1 73 0 0 0 : 14d42: je 14d60 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/pattern.rs:439 0 0 0 0 : 14d44: jmp 14da0 0 0 0 0 : 14d46: mov eax,0x1 0 0 0 0 : 14d4b: cmp rax,0x1 0 0 0 0 : 14d4f: jne 14da0 0 0 0 0 : 14d51: data16 data16 data16 data16 data16 cs nop WORD PTR [rax+rax*1+0x0] 0 0 0 0 : 14d60: lea rsi,[rcx+r15*1] 0 0 0 0 : 14d64: inc rsi 0 0 0 0 : 14d67: add rcx,r15 67 0 0 0 : 14d6a: cmp rcx,rbx // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/pattern.rs:458 0 0 0 0 : 14d6d: jae 14ce0 2 0 0 0 : 14d73: cmp BYTE PTR [r14+rcx*1],0xa 4 0 0 0 : 14d78: jne 14ce0 66 0 0 0 : 14d7e: mov DWORD PTR [rbp-0x2c],0x0 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/pattern.rs:0 0 0 0 0 : 14d85: mov r15,rsi 0 0 0 0 : 14d88: sub rcx,r13 0 0 0 0 : 14d8b: je 14cc4 79 0 0 0 : 14d91: jmp 14db7 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/iter/adapters/filter.rs:79 0 0 0 0 : 14d93: data16 data16 data16 cs nop WORD PTR [rax+rax*1+0x0] 0 0 0 0 : 14da0: mov r15,rbx 0 0 0 0 : 14da3: jmp 14da8 0 0 0 0 : 14da5: mov r15,rsi 0 0 0 0 : 14da8: mov rsi,r13 0 0 0 0 : 14dab: mov rcx,rbx 0 0 0 0 : 14dae: sub rcx,r13 0 0 0 0 : 14db1: je 14cc4 0 0 0 0 : 14db7: add r13,r14 1 0 0 0 : 14dba: movzx eax,BYTE PTR [r13+0x0] 0 0 0 0 : 14dbf: cmp rcx,0x1 70 0 0 0 : 14dc3: jne 14dd7 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1716 0 0 0 0 : 14dc5: cmp eax,0x2b 0 0 0 0 : 14dc8: je 14f1e 0 0 0 0 : 14dce: cmp eax,0x2d 0 0 0 0 : 14dd1: je 14f1e 0 0 0 0 : 14dd7: xor edx,edx 0 0 0 0 : 14dd9: cmp eax,0x2b 2 0 0 0 : 14ddc: sete dl 74 0 0 0 : 14ddf: sub rcx,rdx // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1723 0 0 0 0 : 14de2: add r13,rdx 5 0 0 0 : 14de5: cmp rcx,0x11 0 0 0 0 : 14de9: jae 14e30 3 0 0 0 : 14deb: test rcx,rcx 0 0 0 0 : 14dee: je 14cb9 63 0 0 0 : 14df4: xor edx,edx // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:0 0 0 0 0 : 14df6: xor eax,eax 1 0 0 0 : 14df8: nop DWORD PTR [rax+rax*1+0x0] 49 0 0 0 : 14e00: movzx edi,BYTE PTR [r13+rdx*1+0x0] // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1756 75 0 0 0 : 14e06: add edi,0xffffffd0 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/uint_macros.rs:2494 13 0 0 0 : 14e09: cmp edi,0x9 0 0 0 0 : 14e0c: ja 14f1e 692 0 0 0 : 14e12: lea rax,[rax+rax*4] // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1755 0 0 0 0 : 14e16: mov edi,edi 540 0 0 0 : 14e18: lea rax,[rdi+rax*2] // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1757 0 0 0 0 : 14e1c: inc rdx 60 0 0 0 : 14e1f: cmp rcx,rdx // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1754 684 0 0 0 : 14e22: jne 14e00 87 0 0 0 : 14e24: jmp 14cc0 0 0 0 0 : 14e29: nop DWORD PTR [rax+0x0] 0 0 0 0 : 14e30: xor edi,edi 0 0 0 0 : 14e32: xor eax,eax 0 0 0 0 : 14e34: data16 data16 cs nop WORD PTR [rax+rax*1+0x0] 0 0 0 0 : 14e40: cmp rcx,rdi 0 0 0 0 : 14e43: je 14cc0 0 0 0 0 : 14e49: mul r12 0 0 0 0 : 14e4c: movzx edx,BYTE PTR [r13+rdi*1+0x0] 0 0 0 0 : 14e52: jo 14ec1 0 0 0 0 : 14e54: add edx,0xffffffd0 0 0 0 0 : 14e57: cmp edx,0xa 0 0 0 0 : 14e5a: jae 14f1e 0 0 0 0 : 14e60: mov edx,edx 0 0 0 0 : 14e62: inc rdi 0 0 0 0 : 14e65: add rax,rdx 0 0 0 0 : 14e68: jae 14e40 0 0 0 0 : 14e6a: mov al,0x2 0 0 0 0 : 14e6c: jmp 14ecb 0 0 0 0 : 14e6e: mov rax,QWORD PTR [rbp-0x68] 0 0 0 0 : 14e72: mov QWORD PTR [rbp-0x38],rax : 151 let sum: u64 = input : 152 .split('\n') : 153 .filter(|line| !line.is_empty()) : 154 .map(|line| line.parse::().unwrap()) : 155 .sum(); : 156 print!("{sum}"); 0 0 0 0 : 14e76: lea rax,[rbp-0x38] 0 0 0 0 : 14e7a: mov QWORD PTR [rbp-0x48],rax 0 0 0 0 : 14e7e: mov rax,QWORD PTR [rip+0x415d3] # 56458 <_DYNAMIC+0x260> 0 0 0 0 : 14e85: mov QWORD PTR [rbp-0x40],rax 0 0 0 0 : 14e89: lea rdi,[rip+0xffffffffffff33d8] # 8268 0 0 0 0 : 14e90: lea rsi,[rbp-0x48] 0 0 0 0 : 14e94: call QWORD PTR [rip+0x415c6] # 56460 <_DYNAMIC+0x268> 0 0 0 0 : 14e9a: mov rsi,QWORD PTR [rbp-0x60] 0 0 0 0 : 14e9e: test rsi,rsi 0 0 0 0 : 14ea1: je 14eb2 0 0 0 0 : 14ea3: mov rdi,QWORD PTR [rbp-0x58] 0 0 0 0 : 14ea7: mov edx,0x1 0 0 0 0 : 14eac: call QWORD PTR [rip+0x41586] # 56438 <_DYNAMIC+0x240> 0 0 0 0 : 14eb2: add rsp,0x48 0 0 0 0 : 14eb6: pop rbx 0 0 0 0 : 14eb7: pop r12 0 0 0 0 : 14eb9: pop r13 0 0 0 0 : 14ebb: pop r14 0 0 0 0 : 14ebd: pop r15 0 0 0 0 : 14ebf: pop rbp 0 0 0 0 : 14ec0: ret 0 0 0 0 : 14ec1: add dl,0xd0 0 0 0 0 : 14ec4: xor eax,eax 0 0 0 0 : 14ec6: cmp dl,0xa 0 0 0 0 : 14ec9: adc al,0x1 0 0 0 0 : 14ecb: mov BYTE PTR [rbp-0x48],al 0 0 0 0 : 14ece: lea rdi,[rip+0xffffffffffff2ca2] # 7b77 0 0 0 0 : 14ed5: lea rcx,[rip+0x3f57c] # 54458 <__frame_dummy_init_array_entry+0x58> 0 0 0 0 : 14edc: lea r8,[rip+0x3f5cd] # 544b0 <__frame_dummy_init_array_entry+0xb0> 0 0 0 0 : 14ee3: lea rdx,[rbp-0x48] 0 0 0 0 : 14ee7: mov esi,0x2b 0 0 0 0 : 14eec: call QWORD PTR [rip+0x41576] # 56468 <_DYNAMIC+0x270> 0 0 0 0 : 14ef2: jmp 14f1c 0 0 0 0 : 14ef4: mov QWORD PTR [rbp-0x48],rdx 0 0 0 0 : 14ef8: lea rdi,[rip+0xffffffffffff2c78] # 7b77 0 0 0 0 : 14eff: lea rcx,[rip+0x3f572] # 54478 <__frame_dummy_init_array_entry+0x78> 0 0 0 0 : 14f06: lea r8,[rip+0x3f58b] # 54498 <__frame_dummy_init_array_entry+0x98> 0 0 0 0 : 14f0d: lea rdx,[rbp-0x48] 0 0 0 0 : 14f11: mov esi,0x2b 0 0 0 0 : 14f16: call QWORD PTR [rip+0x4154c] # 56468 <_DYNAMIC+0x270> 0 0 0 0 : 14f1c: ud2 0 0 0 0 : 14f1e: mov al,0x1 0 0 0 0 : 14f20: jmp 14ecb 0 0 0 0 : 14f22: jmp 14f38 0 0 0 0 : 14f24: mov rbx,rax 0 0 0 0 : 14f27: lea rdi,[rbp-0x48] 0 0 0 0 : 14f2b: call 14ba0 > 0 0 0 0 : 14f30: jmp 14f3b 0 0 0 0 : 14f32: call QWORD PTR [rip+0x41538] # 56470 <_DYNAMIC+0x278> 0 0 0 0 : 14f38: mov rbx,rax 0 0 0 0 : 14f3b: mov rsi,QWORD PTR [rbp-0x60] 0 0 0 0 : 14f3f: test rsi,rsi 0 0 0 0 : 14f42: je 14f53 0 0 0 0 : 14f44: mov rdi,QWORD PTR [rbp-0x58] 0 0 0 0 : 14f48: mov edx,0x1 0 0 0 0 : 14f4d: call QWORD PTR [rip+0x414e5] # 56438 <_DYNAMIC+0x240> 0 0 0 0 : 14f53: mov rdi,rbx 0 0 0 0 : 14f56: call 533c0 <_Unwind_Resume@plt> Sorted summary for file /box/solution-bin ---------------------------------------------- 41.45 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:39 10.97 0.00 100.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:40 9.22 100.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:19 7.48 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:0 5.29 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:91 5.16 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:71 4.80 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:0 4.76 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ptr/mod.rs:2292 4.63 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:107 4.02 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1433 0.80 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:81 Samples | Source code & Disassembly of /box/solution-bin for cpu_core/cycles/P, cpu_core/mem_load_retired.l3_miss/P, cpu_core/br_misp_retired.all_branches/P, dummy:u (1494 samples, percent: local period) --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---- : : : : 3 Disassembly of section .text: : : 5 0000000000051060 : 0 0 0 0 : 51060: push r14 0 0 0 0 : 51062: push rbx 0 0 0 0 : 51063: mov rcx,rdx 71 0 0 0 : 51066: lea rdx,[rsi+0x7] // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ptr/mod.rs:2292 0 0 0 0 : 5106a: and rdx,0xfffffffffffffff8 0 0 0 0 : 5106e: sub rdx,rsi 77 0 0 0 : 51071: jne 5107b // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:71 0 0 0 0 : 51073: lea rax,[rcx-0x10] 8 0 0 0 : 51077: xor edx,edx // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:0 12 0 0 0 : 51079: jmp 510ab // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:81 0 0 0 0 : 5107b: cmp rcx,rdx 0 0 0 0 : 5107e: cmovb rdx,rcx 0 0 0 0 : 51082: test rcx,rcx 0 0 0 0 : 51085: je 510a2 49 0 0 0 : 51087: xor r8d,r8d // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:0 0 0 0 0 : 5108a: nop WORD PTR [rax+rax*1+0x0] 0 0 0 0 : 51090: cmp BYTE PTR [rsi+r8*1],dil 0 0 0 0 : 51094: je 5112b 0 0 0 0 : 5109a: inc r8 14 0 0 0 : 5109d: cmp rdx,r8 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:39 192 0 0 0 : 510a0: jne 51090 55 0 0 0 : 510a2: lea rax,[rcx-0x10] // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:0 0 0 0 0 : 510a6: cmp rdx,rax 0 0 0 0 : 510a9: ja 51105 0 0 0 0 : 510ab: movabs r8,0x8080808080808080 7 0 0 0 : 510b5: movabs r9,0x101010101010100 47 0 0 0 : 510bf: movzx r11d,dil // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:1433 13 0 0 0 : 510c3: lea r10,[r9+0x1] 0 0 0 0 : 510c7: imul r10,r11 12 0 0 0 : 510cb: nop DWORD PTR [rax+rax*1+0x0] // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/num/mod.rs:0 60 0 0 0 : 510d0: mov r11,QWORD PTR [rsi+rdx*1] 6 0 0 0 : 510d4: xor r11,r10 0 0 0 0 : 510d7: mov rbx,r9 9 0 0 0 : 510da: sub rbx,r11 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:19 45 0 0 0 : 510dd: or rbx,r11 16 1 0 0 : 510e0: mov r11,QWORD PTR [rsi+rdx*1+0x8] 0 0 0 0 : 510e5: xor r11,r10 12 0 0 0 : 510e8: mov r14,r9 45 0 0 0 : 510eb: sub r14,r11 11 0 0 0 : 510ee: or r14,r11 0 0 0 0 : 510f1: and rbx,r8 7 0 0 0 : 510f4: and rbx,r14 0 0 0 0 : 510f7: cmp rbx,r8 79 0 0 0 : 510fa: jne 51105 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:91 0 0 0 0 : 510fc: add rdx,0x10 0 0 0 0 : 51100: cmp rdx,rax 0 0 0 0 : 51103: jbe 510d0 0 0 0 0 : 51105: xor eax,eax 0 0 0 0 : 51107: cmp rcx,rdx 0 0 0 0 : 5110a: je 5111e 0 0 0 0 : 5110c: nop DWORD PTR [rax+0x0] 88 0 2 0 : 51110: cmp BYTE PTR [rsi+rdx*1],dil // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:40 76 0 2 0 : 51114: je 51122 0 0 0 0 : 51116: inc rdx 0 0 0 0 : 51119: cmp rcx,rdx 413 0 0 0 : 5111c: jne 51110 // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:39 0 0 0 0 : 5111e: pop rbx 0 0 0 0 : 5111f: pop r14 0 0 0 0 : 51121: ret 0 0 0 0 : 51122: mov eax,0x1 1 0 0 0 : 51127: pop rbx 0 0 0 0 : 51128: pop r14 69 0 0 0 : 5112a: ret // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/slice/memchr.rs:107 0 0 0 0 : 5112b: mov eax,0x1 0 0 0 0 : 51130: mov rdx,r8 0 0 0 0 : 51133: pop rbx 0 0 0 0 : 51134: pop r14 0 0 0 0 : 51136: ret Sorted summary for file /box/solution-bin ---------------------------------------------- 59.94 100.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/validations.rs:233 40.06 0.00 0.00 0.00 /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/validations.rs:234 Samples | Source code & Disassembly of /box/solution-bin for cpu_core/cycles/P, cpu_core/mem_load_retired.l3_miss/P, cpu_core/br_misp_retired.all_branches/P, dummy:u (100 samples, percent: local period) --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---- : : : : 3 Disassembly of section .text: : : 5 0000000000050d90 : 0 0 0 0 : 50d90: push r15 0 0 0 0 : 50d92: push r14 0 0 0 0 : 50d94: push rbx 0 0 0 0 : 50d95: mov rax,rdi 0 0 0 0 : 50d98: xor edi,edi 0 0 0 0 : 50d9a: mov rcx,rdx 0 0 0 0 : 50d9d: sub rcx,0xf 0 0 0 0 : 50da1: cmovae rdi,rcx 0 0 0 0 : 50da5: test rdx,rdx 0 0 0 0 : 50da8: je 50f57 0 0 0 0 : 50dae: lea r8,[rsi+0x7] 0 0 0 0 : 50db2: and r8,0xfffffffffffffff8 0 0 0 0 : 50db6: sub r8,rsi 0 0 0 0 : 50db9: xor ecx,ecx 0 0 0 0 : 50dbb: lea r10,[rip+0xfffffffffffbbe2d] # cbef 0 0 0 0 : 50dc2: movabs r11,0x8080808080808080 0 0 0 0 : 50dcc: jmp 50ddf 0 0 0 0 : 50dce: xchg ax,ax 0 0 0 0 : 50dd0: inc r14 0 0 0 0 : 50dd3: mov rcx,r14 0 0 0 0 : 50dd6: cmp rcx,rdx 0 0 0 0 : 50dd9: jae 50f57 0 0 0 0 : 50ddf: movzx ebx,BYTE PTR [rsi+rcx*1] 0 0 0 0 : 50de3: test bl,bl 0 0 0 0 : 50de5: js 50e40 0 0 0 0 : 50de7: mov r9d,r8d 0 0 0 0 : 50dea: sub r9d,ecx 0 0 0 0 : 50ded: test r9b,0x7 0 0 0 0 : 50df1: je 50e04 0 0 0 0 : 50df3: inc rcx 0 0 0 0 : 50df6: jmp 50dd6 0 0 0 0 : 50df8: nop DWORD PTR [rax+rax*1+0x0] 0 0 0 0 : 50e00: add rcx,0x10 0 0 0 0 : 50e04: cmp rcx,rdi 0 0 0 0 : 50e07: jae 50e17 60 1 0 0 : 50e09: mov r9,QWORD PTR [rsi+rcx*1+0x8] // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/validations.rs:233 16 0 0 0 : 50e0e: or r9,QWORD PTR [rsi+rcx*1] // /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/str/validations.rs:234 0 0 0 0 : 50e12: test r9,r11 24 0 0 0 : 50e15: je 50e00 0 0 0 0 : 50e17: cmp rcx,rdx 0 0 0 0 : 50e1a: jae 50dd6 0 0 0 0 : 50e1c: nop DWORD PTR [rax+0x0] 0 0 0 0 : 50e20: cmp BYTE PTR [rsi+rcx*1],0x0 0 0 0 0 : 50e24: js 50dd6 0 0 0 0 : 50e26: inc rcx 0 0 0 0 : 50e29: cmp rdx,rcx 0 0 0 0 : 50e2c: jne 50e20 0 0 0 0 : 50e2e: jmp 50f57 0 0 0 0 : 50e33: data16 data16 data16 cs nop WORD PTR [rax+rax*1+0x0] 0 0 0 0 : 50e40: movzx r14d,BYTE PTR [rbx+r10*1] 0 0 0 0 : 50e45: mov r9b,0x1 0 0 0 0 : 50e48: cmp r14d,0x4 0 0 0 0 : 50e4c: je 50eab 0 0 0 0 : 50e4e: cmp r14d,0x3 0 0 0 0 : 50e52: je 50e7d 0 0 0 0 : 50e54: cmp r14d,0x2 0 0 0 0 : 50e58: jne 50f68 0 0 0 0 : 50e5e: lea r14,[rcx+0x1] 0 0 0 0 : 50e62: cmp r14,rdx 0 0 0 0 : 50e65: jae 50f63 0 0 0 0 : 50e6b: cmp BYTE PTR [rsi+r14*1],0xbf 0 0 0 0 : 50e70: mov bl,0x1 0 0 0 0 : 50e72: jle 50dd0 0 0 0 0 : 50e78: jmp 50f6e 0 0 0 0 : 50e7d: lea r14,[rcx+0x1] 0 0 0 0 : 50e81: cmp r14,rdx 0 0 0 0 : 50e84: jae 50f63 0 0 0 0 : 50e8a: movzx r14d,BYTE PTR [rsi+r14*1] 0 0 0 0 : 50e8f: cmp rbx,0xe0 0 0 0 0 : 50e96: je 50ed9 0 0 0 0 : 50e98: cmp ebx,0xed 0 0 0 0 : 50e9e: jne 50ef4 0 0 0 0 : 50ea0: cmp r14b,0x9f 0 0 0 0 : 50ea4: jle 50f0c 0 0 0 0 : 50ea6: jmp 50f68 0 0 0 0 : 50eab: lea r14,[rcx+0x1] 0 0 0 0 : 50eaf: cmp r14,rdx 0 0 0 0 : 50eb2: jae 50f63 0 0 0 0 : 50eb8: movzx r14d,BYTE PTR [rsi+r14*1] 0 0 0 0 : 50ebd: cmp rbx,0xf0 0 0 0 0 : 50ec4: je 50ee8 0 0 0 0 : 50ec6: cmp ebx,0xf4 0 0 0 0 : 50ecc: jne 50f22 0 0 0 0 : 50ece: cmp r14b,0x8f 0 0 0 0 : 50ed2: jle 50f30 0 0 0 0 : 50ed4: jmp 50f68 0 0 0 0 : 50ed9: and r14b,0xe0 0 0 0 0 : 50edd: cmp r14b,0xa0 0 0 0 0 : 50ee1: je 50f0c 0 0 0 0 : 50ee3: jmp 50f68 0 0 0 0 : 50ee8: add r14b,0x70 0 0 0 0 : 50eec: cmp r14b,0x30 0 0 0 0 : 50ef0: jb 50f30 0 0 0 0 : 50ef2: jmp 50f68 0 0 0 0 : 50ef4: lea r15d,[rbx+0x1f] 0 0 0 0 : 50ef8: cmp r15b,0xc 0 0 0 0 : 50efc: jb 50f06 0 0 0 0 : 50efe: and bl,0xfe 0 0 0 0 : 50f01: cmp bl,0xee 0 0 0 0 : 50f04: jne 50f68 0 0 0 0 : 50f06: cmp r14b,0xc0 0 0 0 0 : 50f0a: jge 50f68 0 0 0 0 : 50f0c: lea r14,[rcx+0x2] 0 0 0 0 : 50f10: cmp r14,rdx 0 0 0 0 : 50f13: jae 50f63 0 0 0 0 : 50f15: cmp BYTE PTR [rsi+r14*1],0xbf 0 0 0 0 : 50f1a: jle 50dd0 0 0 0 0 : 50f20: jmp 50f6c 0 0 0 0 : 50f22: add bl,0xf 0 0 0 0 : 50f25: cmp bl,0x2 0 0 0 0 : 50f28: ja 50f68 0 0 0 0 : 50f2a: cmp r14b,0xc0 0 0 0 0 : 50f2e: jge 50f68 0 0 0 0 : 50f30: lea rbx,[rcx+0x2] 0 0 0 0 : 50f34: cmp rbx,rdx 0 0 0 0 : 50f37: jae 50f63 0 0 0 0 : 50f39: cmp BYTE PTR [rsi+rbx*1],0xbf 0 0 0 0 : 50f3d: jg 50f6c 0 0 0 0 : 50f3f: lea r14,[rcx+0x3] 0 0 0 0 : 50f43: cmp r14,rdx 0 0 0 0 : 50f46: jae 50f63 0 0 0 0 : 50f48: cmp BYTE PTR [rsi+r14*1],0xc0 0 0 0 0 : 50f4d: jl 50dd0 0 0 0 0 : 50f53: mov bl,0x3 0 0 0 0 : 50f55: jmp 50f6e 0 0 0 0 : 50f57: mov QWORD PTR [rax+0x8],rsi 0 0 0 0 : 50f5b: mov QWORD PTR [rax+0x10],rdx 0 0 0 0 : 50f5f: xor ecx,ecx 0 0 0 0 : 50f61: jmp 50f7e 0 0 0 0 : 50f63: xor r9d,r9d 0 0 0 0 : 50f66: jmp 50f6e 0 0 0 0 : 50f68: mov bl,0x1 0 0 0 0 : 50f6a: jmp 50f6e 0 0 0 0 : 50f6c: mov bl,0x2 0 0 0 0 : 50f6e: mov QWORD PTR [rax+0x8],rcx 0 0 0 0 : 50f72: mov BYTE PTR [rax+0x10],r9b 0 0 0 0 : 50f76: mov BYTE PTR [rax+0x11],bl 0 0 0 0 : 50f79: mov ecx,0x1 0 0 0 0 : 50f7e: mov QWORD PTR [rax],rcx 0 0 0 0 : 50f81: pop rbx 0 0 0 0 : 50f82: pop r14 0 0 0 0 : 50f84: pop r15 0 0 0 0 : 50f86: ret