Hi.

I have been having a lot of fun learning picoLisp.  Thank you Alex for
this gem!

As part of my learning, I converted a simple Ruby program I had into
plisp and thought I would share the results.  

The program (namegen) slurps in two files -- one of firstnames with
attributes, the other of lastnames -- then produces a random list of
First Last pairs to stdout.  The data table sizes are

$ ./namegen.l -i
Database Size:
   Surnames   = 240471
   Firstnames = 23405

Here are results of running the ruby and plisp versions (same machine i7
running 64b Fedora fc19 with lots of memory)

# ruby version (ruby 2.0.0p353)

   namegen.rb -i       0.22s user 0.01s system 99% cpu 0.233 total
   namegen.rb -n 10    0.25s user 0.01s system 99% cpu 0.266 total
   namegen.rb -n 100   0.25s user 0.01s system 99% cpu 0.262 total
   namegen.rb -n 1000  0.26s user 0.01s system 92% cpu 0.289 total

# picolisp version  (picolisp 3.1.7.0)

   namegen.l -i        0.16s user 0.01s system 99% cpu 0.171 total
   namegen.l -n 10     0.16s user 0.01s system 99% cpu 0.174 total
   namegen.l -n 100    0.22s user 0.01s system 99% cpu 0.230 total
   namegen.l -n 1000   0.69s user 0.01s system 99% cpu 0.702 total

The interesting thing is that the ruby version seems constant over the
number of pairs generated.  I suspect that might be how I/O is handled.
The (-i) version just does the data reading, the others read and write.
Not a problem, just interesting.

Fun stuff.

 .. m.
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe

Reply via email to