Opened 15 years ago
Last modified 13 years ago
#56 reopened enhancement
Eliminate use of temporary files in COMPILE-FILE
Reported by: | ehuelsmann | Owned by: | ehuelsmann |
---|---|---|---|
Priority: | minor | Milestone: | unscheduled |
Component: | compiler | Version: | |
Keywords: | Cc: | ||
Parent Tickets: |
Description
The functions COMPILE and COMPILE-FILE use temporary files for the class files generated by the compiler.
However, COMPILE directly loads them back into memory and deletes the temp file, while COMPILE-FILE deletes the temp file after adding it to a ZIP archive.
This ticket exists to indicate that infrastructure is required to better manage where output goes to, abstracting from the temp files.
Change History (7)
comment:1 Changed 15 years ago by
comment:2 Changed 15 years ago by
Summary: | Eliminate use of temporary files in COMPILE and COMPILE-FILE → Eliminate use of temporary files in COMPILE-FILE |
---|
Changing ticket title: temp files are no longer used with COMPILE; only with COMPILE-FILE now.
comment:3 Changed 15 years ago by
An intermediate step could be to store the temp files in the location indicated by java.io.tmpdir property. This property should point to a location on local disk, eliminating any network turn-arounds required to stat(), read and delete the files during compilation.
That should at least speed up compilation by a lot in case the target is non-locally stored.
comment:4 Changed 14 years ago by
Milestone: | → 0.23 |
---|
The suggestion in the previous comment should be doable relatively short term.
comment:5 Changed 13 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
I think has been addressed by Alessio long ago.
comment:6 Changed 13 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
I don't recall ever fixing it, and Erik confirms COMPILE-FILE is still using temporary files.
comment:7 Changed 13 years ago by
Milestone: | 0.23 → unscheduled |
---|---|
Priority: | major → minor |
When working on this, I think it makes sense to base COMPILE-FILE
on a COMPILE-FROM-STREAM. The latter function could then find use
in ABCL's SWANK backend (for implementing C-c C-c.) ECL, and CMUCL
both provide such a COMPILE-FROM-STREAM function.