MCPcopy Create free account
hub / github.com/emscripten-core/emscripten / chunkify

Function chunkify

tools/js_optimizer.py:131–148  ·  view source on GitHub ↗
(funcs, chunk_size)

Source from the content-addressed store, hash-verified

129# generates a set of chunks for parallel processing and caching.
130@ToolchainProfiler.profile()
131def 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')

Callers 1

run_on_fileFunction · 0.85

Calls 2

appendMethod · 0.80
joinMethod · 0.45

Tested by

no test coverage detected