[Ecls-list] Memory problems during IO
Waldek Hebisch
hebisch at math.uni.wroc.pl
Sun Nov 29 20:50:50 UTC 2009
I have problem reading modertely large (76 MB) input file
using FriCAS. I am geting the following message:
Memory limit reached. Please jump to an outer pointer, quit program and
enlarge the
memory limits before executing the program again.
Available restarts:
1. (CONTINUE) Extend heap size
2. (RESTART-TOPLEVEL) Go back to Top-Level REPL.
If I choose the first restart it works. But what is going on:
the process size is quite small (slightly larger than 256 MB).
I am using CVS version from about 3 weeks ago. The machine is Core
2 with 8 GB of ram running 64-bit Fedora 9.
I have made an artificial test that seem to reproduce the problem,
after running it few times I get the same message:
(defun write-it (str)
(with-open-file (fil "foo.dat" :direction :output
:if-exists :overwrite :if-does-not-exist :create)
(format fil "(~&")
(dotimes (i 3000) (format fil "( ~S ~S )~&" str str))
(format fil ")~&")))
(compile 'write-it)
(defvar *trash1*)
(let
((str "0123456789")
(l nil))
(dotimes (i 11) (setf str (concatenate 'string str str)))
(format t "writing~&")
(time (write-it str))
(format t "reading~&")
(with-open-file (fil "foo.dat" :direction :input)
(time (setf l (read fil))))
(setf *trash1* l)
nil)
--
Waldek Hebisch
hebisch at math.uni.wroc.pl
More information about the ecl-devel
mailing list