Abstract | ||
---|---|---|
Applying region-based memory management (RBMM) to logic programming languages poses a special challenge: backtracking can require regions removed during forward execution to be "resurrected", and any memory allocated during a computation that has been backtracked over must be recovered promptly, without waiting for the regions involved to come to the end of their life. In this paper, we describe how we implemented runtime support for RBMM in the logic programming language Mercury, whose specialized implementation of the language constructs involved in backtracking required equally specialized support. Our benchmark Mercury programs run about 25% faster on average with RBMM than with the usual Boehm garbage collector, and for some programs, RBMM achieves optimal memory consumption. |
Year | DOI | Venue |
---|---|---|
2008 | 10.1145/1375634.1375644 | ISMM |
Keywords | Field | DocType |
optimal memory consumption,runtime support,forward execution,logic programming language mercury,region-based memory management,logic programming language,special challenge,benchmark mercury program,specialized support,specialized implementation,logic programming,garbage collector,mercury,region based memory management,memory allocation | Programming language,Computer science,Language construct,Parallel computing,Real-time computing,Memory management,Garbage collection,Logic programming,Region-based memory management,Backtracking,Computation | Conference |
Citations | PageRank | References |
2 | 0.41 | 12 |
Authors | ||
3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Quan Phan | 1 | 7 | 2.22 |
Zoltan Somogyi | 2 | 571 | 141.85 |
Gerda Janssens | 3 | 644 | 58.82 |