---
# System prepended metadata

title: Perf. Eval
tags: [decompiler]

---

---
tags: decompiler
title: Perf. Eval
---

# Samples breakdown

Top most time consuming (>50 seconds):
- 10306 
    - (Func: 18, blocks: 163, instructions: 2600) x 4
    - shlex.py
    - code: (1 function) [link](https://github.com/python/cpython/blob/3.8/Lib/shlex.py#L133)
- 10471 
    - (Func: 48, blocks: 225, instructions: 7044) x 12
    - http\server.py
    - code: [link](https://github.com/python/cpython/blob/3.8/Lib/http/server.py)
    - functions: parse_request, handle_one_request, send_head, list_directory, **run_cqi**, 
- 120811 (Func: 46, blocks: 224, instructions: 6938) x 7
    - same as previous one


Finding the troublesome function:

- No specific trend
- There are no structures per se 
- May need to check depth?
    - More depth is also covered by another sample


# Blocks

## Functions specific

There is no trend per se with the most troublesome functions. Both of the samples' functions are not the ones with most number of basic blocks. 


## If counts
8 ifs without return - 3 seconds
8 ifs with return - 17 seconds
9 ifs with return - 21
10 ifs with return - 28
10 ifs with return in while - 29 seconds
10 ifs with break in while - 7 seconds
10 ifs with continue in while - 25 seconds
10 ifs in another if with continue in while - 36 seconds
10 ifs in another if with continue in while (try/except in if) - 44 seconds
10 ifs in another if with continue in while (try/except outside if) - 51 seconds
10 ifs in another if with continue in while (try/except no if) - 47 seconds
10 ifs in another if with continue in while (try/except no if) + for loop - 54 seconds
