Hi All,

It would appear that setting up a chroot is remarkably easy, well
under debian anyway, I can't speak for other distros as I haven't
tried. AndJus it seems to work quite nicely too, even if their are
other ways to do it.

Anyway now that I have a chroot I can install a version of Firefox
with flash as well : )


----

Disclaimer: I have not examined the low level virtual machine to any
level of detail. the following is a general observation about VM's.
For all I know the people behind LLVM have done things better.

Some languages are simply sufficiently different that they do not work
well on some virtual machines. Attempting to implement Erlang on the
JVM comes to mind. The underlying primities are different.

Often what generic virtual machine means is good for any language
sufficently close to C, IE staticly typed etc. Lisp is not decented
from C and makes somwhat different assumptions about a lot of things,
so it may not be a good fit.

----

And now back to questions about 64 bit picolisp:

Is switching to an assembler going to mean the demise of gcc.l ?
Are we going to see inline picoLisp Assembler instead?O

How is a new assembler based version of Picolisp going to affect 32
bit platforms. I imagine they are going to be arround for quite a
number of decades yet?

Regs

Konrad

On 16/10/2008, Tomas Hlavaty <[EMAIL PROTECTED]> wrote:
> Hi Alex,
>
> thanks for explanation.
>
> I was curious to try picolisp bignums and must say that for somebody
> doing anything serious, it is probably rather inefficient.  As a
> benchmark, I tried the example from
> http://paste.lisp.org/display/15116
>
> (setq X 0)
> (setq Y 1)
> (for (N 2 (<= N 1000000) (inc N))
>    (let Z (+ X Y)
>       (setq X Y)
>       (setq Y Z)))
> (prinl Y)
>
> Very rough results using picolisp native bignums:
>
> (<= N 10000)
>
> $ time ~/picolisp/p gmp-test2.l -bye > gmp-test2.log
>
> real  0m0.131s
> user  0m0.124s
> sys       0m0.008s
>
> (<= N 100000)
>
> $ time ~/picolisp/p gmp-test2.l -bye > gmp-test2.log
>
> real  0m10.190s
> user  0m10.157s
> sys       0m0.008s
>
> (<= N 1000000)
>
> $ time ~/picolisp/p gmp-test2.l -bye > gmp-test2.log
>   C-c C-cKilled
>
> real  17m58.856s
> user  17m51.687s
> sys       0m5.572s
>
> (killed after 18 mins!)
>
> The original C program:
>
> $ time ./gmp > gmp.log
>
> real  0m50.060s
> user  0m50.059s
> sys       0m0.004s
>
> I wrote simple ffi wrapper for gmp library and the results:
>
> $ time ../../p gmp-test.l -bye > gmp-test.log
>
> real  0m50.507s
> user  0m50.239s
> sys       0m0.248s
>
> using the following code:
>
> (setq X (mpz_new))
> (setq Y (mpz_new))
> (mpz_init X)
> (mpz_init Y)
> (mpz_set_ui X 0)
> (mpz_set_ui Y 1)
> (setq Z (mpz_new))
> (for (N 2 (<= N 1000000) (inc N))
>    (mpz_init Z)
>    (mpz_add Z X Y)
>    (mpz_set X Y)
>    (mpz_set Y Z)
>    (mpz_clear Z))
> (mpz_print Y)
> (prinl)
>
> Would not it be better to use gmp library for bignums if they are
> going to be supported?
>
> What is the reason picolisp has bignums in the first place?  Do
> you/somebody else use it for anything?  Would not it be simpler and
> good enough on 64 bit systems not having them at all?
>
> What impact on interfacing foreign libraries the asm rewrite have?
>
> Cheers,
>
> Tomas
> --
> UNSUBSCRIBE: mailto:[EMAIL PROTECTED]
>
-- 
UNSUBSCRIBE: mailto:[EMAIL PROTECTED]

Reply via email to