Closed
Description
It looks like reserve makes a big difference here, so we should support it in LPython as well. For example by from lpython import reserve
and just call this function. The CPython implementation will not do anything.
Here is how to use it:
from lpython import reserve
def dijkstra_shortest_path(n: i32, source: i32) -> i32:
i: i32; j: i32; v: i32; u: i32; mindist: i32; alt: i32; dummy: i32; uidx: i32
dist_sum: i32;
graph: list[i32] = []
dist: list[i32] = []
reserve(graph, n*n)
In CPython emulation this will be an empty function (no-op), in LPython we reserve the memory for this list, similar to reserve in C++, for performance.
Originally posted by @certik in #2231 (comment)
Metadata
Metadata
Assignees
Labels
No labels