Re: SWI Prolog Runtime configuration.



On 2006-08-30, Sujai <sujai.antony@xxxxxxxxx> wrote:
Jan Wielemaker wrote:

I think, but its all very long ago as the runtime system existed first
of all from the days before SWI-Prolog was licenced under the LGPL, you
can only run saved states created using a compatible version of the
development system using `plrt -x state' or by combining them
using `cat plrt state > myprog && chmod +x myprog'

Possibly the problem is deeper. Debugging the system while it is loading
its init-file is very hard as most of the code that makes it print sensible
errors is either not yet loaded or appearently not functioning properly.

Cheers --- Jan

Thank you for the information Jan.

May I know if there is a plan to enhance the runtime option to
support all options as in the normal version (with just the debugging
and profiling removed)?

Its not on my prioritylist. Of course, if someone figures it out and
send me the patches I'm happy to include them in the main source.
Dropping the profiler is probably just fine as some OSes don't support
the required primitives and the profiler is dropped by configure.

Dropping the debugger might be harder as it has not been done for a
long time.

Together it makes the system 10-20% faster and a bit smaller. To
create smaller applications though, it is much more interesting to
enhance the save-state generation facilities with cross-reference
analysis and only save those parts of the code that need saving. Most
of the logic for that is in the library prolog_xref.pl, though it
needs completion and some thought on how careful it should be as well
as some declarations that allow the user to specify the entry
point(s).

One of the reasons not to bother too much with a stripped kernel is
that it is very convient to have one binary kernel for all purposes.
On modern OSes, the size of the executable file(s) doesn't matter that
much anymore.

--- Jan

I presume many would be interested in having a prolog kernel in
their applications to make use of its inferencing aspects.
Having a runtime option with debugging and profiling options removed
will be ideal for such applications.

~Sujai.

.



Relevant Pages

  • Re: SWI Prolog Runtime configuration.
    ... can only run saved states created using a compatible version of the ... Debugging the system while it is loading ... their applications to make use of its inferencing aspects. ... Having a runtime option with debugging and profiling options removed ...
    (comp.lang.prolog)
  • ANN: InsiderTools for Alaska Xbase++
    ... InsiderTools is set of add-on tools for debugging, profiling, ... LOG PARAMETERS USING ADVICE FUNCTION ...
    (comp.lang.clipper)
  • Re: [patch 10/10] Scheduler profiling - Use immediate values
    ... > _debugging_ functionality. ... > You avoid all the pain if you simply don't use debugging functionality ... I think you're mixing up profiling and debugging. ... There had been need of rain for many days. ...
    (Linux-Kernel)
  • Re: track down memory allocations
    ... w> It is definately worthy for debugging and memory based profiling. ... Thanks to everyone for replies, the problem is more clear to me now. ...
    (comp.programming)
  • Re: [patch 10/10] Scheduler profiling - Use immediate values
    ... You avoid all the pain if you simply don't use debugging functionality ... I think you're mixing up profiling and debugging. ... extremely valuable under production systems. ...
    (Linux-Kernel)