(funcs, chunk_size)
| 129 | # generates a set of chunks for parallel processing and caching. |
| 130 | @ToolchainProfiler.profile() |
| 131 | def chunkify(funcs, chunk_size): |
| 132 | chunks = [] |
| 133 | # initialize reasonably, the rest of the funcs we need to split out |
| 134 | curr = [] |
| 135 | total_size = 0 |
| 136 | for func in funcs: |
| 137 | curr_size = len(func[1]) |
| 138 | if total_size + curr_size < chunk_size: |
| 139 | curr.append(func) |
| 140 | total_size += curr_size |
| 141 | else: |
| 142 | chunks.append(curr) |
| 143 | curr = [func] |
| 144 | total_size = curr_size |
| 145 | if curr: |
| 146 | chunks.append(curr) |
| 147 | curr = None |
| 148 | return [''.join(func[1] for func in chunk) for chunk in chunks] # remove function names |
| 149 | |
| 150 | |
| 151 | @ToolchainProfiler.profile_block('js_optimizer.run_on_file') |
no test coverage detected