Stack-shift based version ready for more serious testing

View: New views
1 Messages — Rating Filter:   Alert me  

Stack-shift based version ready for more serious testing

by Jan Wielemaker-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

The new SWI-Prolog that performs stack-expansion using a traditional
stack-shifter instead of sparse-memory management is ready for people
who like the bleeding edge.  What does it bring:

     * No limit on the number of threads.  I ran 50,000 of them
     on my 64-bit Ubuntu machine (8Gb memory) :-)  This comes very
     handy for agent simulation, network-servers, etc.  It is
     particularly handy if you need to run multi-threaded servers
     on 32-bit systems.

     * Better portability because it now simply relies on malloc()
     and friends for memory management.

     * Less memory usage (for stacks).  Also somewhat better trail
     management.

     * Better implementation of setup_call_cleanup/3, allowing GC
     and shifts in the cleanup handler.  This current implementation
     should be fully compatible to Ulrich's specs.

Downside?  It is currently a bit aggressive in GC timing, which can
cause some slowdown in applications where GC reclaims most of the
memory.  For now I leave it like that because this finds possible
problems quicker.  GC is a bit too active sometimes, causing variables
to disappear from the graphical debugger a bit too often (execution
is normal; this is just a debugger issue.

How to install?

Only from git:

        % git clone git://www.swi-prolog.org/home/pl/git/pl-devel.git
        % git checkout -b shift --track origin/shift
        % ./prepare
        % cp build.templ build
        % <edit build to suit your needs>
        % ./build

If you are already compiling from git, this should do the trick to
upgrade:

        % git fetch
        % make distclean
        % git checkout -b shift --track origin/shift
        % ./prepare
        % ./build
       
This is for all except Windows users.  Degski is working on scripts to
make installation on Windows easier.  Be patient.

Don't be too surprised if it crashes.  You can help by sending a program
to reproduce the crash.  If you are familiar with GDB, send a
stack-trace!

        Enjoy --- Jan



_______________________________________________
SWI-Prolog mailing list
SWI-Prolog@...
https://mailbox.iai.uni-bonn.de/mailman/listinfo.cgi/swi-prolog