Anton Vodonosov | 6 Jan 18:36 2007
Picon

Re: FLEXI-STREAMS optimization mysteries

Edi Weitz:

>My recent experiments (not very extensive, though) seem to suggest
>that on LispWorks SLOT-VALUE is faster than accessors, at least if you
>don't disable the slot access optimizations.

Looks like in CLISP too.

Hi all.

Is there some good books to read to get understanding of how Common Lisp
implementation may work, enough to have more or less right expectations 
about
different language constructs performance?

For example, I'm quite surprised by the fact, that CLOS dispatch outperforms
direct funcalling a closure stored in a slot of class. I.e.

(defclass c-der-1 (c) ())
(defclass c-der-2 (c) ())

(defmethod m ((instance c-der-1))
 (do-something instance))

(defmethod m ((instance c-der-2))
  (do-something-else instance))

(m (make-instance 'c-der-1))
(m (make-instance 'c-der-2))

(Continue reading)

Christophe Rhodes | 6 Jan 19:25 2007
Picon

Re: FLEXI-STREAMS optimization mysteries

Anton Vodonosov <vodonosov <at> mail.ru> writes:

> Is there some good books to read to get understanding of how Common Lisp
> implementation may work, enough to have more or less right expectations 
> about
> different language constructs performance?
>
> For example, I'm quite surprised by the fact, that CLOS dispatch outperforms
> direct funcalling a closure stored in a slot of class. I.e.
>   [...]
> Also interesting that CLOS dispatch is as if insensitive to class hierarchy
> complexity and to number of methods it should choose from.

For this, you could read "Efficient Method Dispatch in PCL" by
Kiczales and Rodriguez, which explains some of the strategies.
(There's also some detail about them in the SBCL internals manual).

> Another surprise for me is SBCL garbage collector.

There are some papers linked from
<http://sbcl-internals.cliki.net/Papers>; to understand how garbage
collection algorithms can vary, you might want to read Wilson's
bigsurv.ps or the book by Jones and Lins.

Cheers,

Christophe

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
(Continue reading)

Gary King | 6 Jan 21:06 2007

Re: FLEXI-STREAMS optimization mysteries

Lisp in Small Pieces is a dense, but wonderful, book (http:// 
www.cambridge.org/uk/catalogue/catalogue.asp?isbn=9780521545662).

On Jan 6, 2007, at 12:36 PM, Anton Vodonosov wrote:

> Is there some good books to read to get understanding of how Common  
> Lisp
> implementation may work, enough to have more or less right  
> expectations
> about
> different language constructs performance?

--
Gary Warren King, metabang.com
Cell: (413) 885 9127
Fax: (206) 338-4052
gwkkwg on Skype * garethsan on AIM

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
aimilios@forthnet.gr | 7 Jan 03:18 2007
Picon

FW: notify

 

 

hello I whould like to make a note for sbcl..

I use it with my receiver heacker as a card client and I connect it through the com port.

I use sbcl as the host program for my varioys plugins such as vplag and wincsc.

I  have the correct info for a valid card server and the valid configurations done and I can claim this because I can login it to it throug wincsc.

When it comes to tune to the channel, sbcl receives the ecm packets and it says it forwards it to the rest of the plugins but when I go to the monitor of wincsc it constantly say this:

**changing channel to :sbcl

Cannot find CAID for ECM=00FF

So  it makes no diference if i change a channel or not.

Whatever the ecm will arrive at sbcl , it will send only 00FF to the rest of the plugins

I also saw that with vplug.

Tell me if there is any logical explanation!!

Thank you for your time reading it and I hope that something can be done for it or  tell me if iam doing somthenig wrong!

Or if there exists any other later version . I have V1.0h ia m waiting for a replay or a link to somethink that could help ;)

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Sbcl-help mailing list
Sbcl-help <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-help
Anton Vodonosov | 8 Jan 02:50 2007
Picon

Re: FLEXI-STREAMS optimization mysteries

Gary,Christophe, thank you for references.

Regards,
-Anton

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Jerry van Dijk | 8 Jan 22:07 2007
Picon

Expected 1.0.1 errors on win32 ?

After compiling 1.0.1 under windows test results were as below. Is this
the expected result under win32 ?

Finished running tests.
Status:
 Failure:             filesys.pure.lisp / RANDOM-NATIVE-NAMESTRINGS
 Failure:             interface.pure.lisp / WITH-TIMEOUT-FORMS
 Failure:             stream.pure.lisp / (STREAM LISTEN-VS-SELECT)
 Expected failure:    debug.impure.lisp / (UNDEFINED-FUNCTION BUG-353)
 Invalid exit status: exhaust.impure.lisp
 Failure:             external-format.impure.lisp / (CHARACTER-DECODE-LARGE
                                                     ATTEMPT-RESYNC)
 Expected failure:    external-format.impure.lisp / (CHARACTER-DECODE-LARGE
                                                     FORCE-END-OF-FILE)
 Unhandled error      foreign-stack-alignment.impure.lisp
 Unhandled error      pathnames.impure.lisp
 Unhandled error      print.impure.lisp
 Failure:             run-program.impure.lisp / RUN-PROGRAM-CAT-1
 Unhandled error      run-program.impure.lisp
 Failure:             signals.impure.lisp / (ASYNC-UNWIND SPECIALS)
 Unhandled error      stream.impure.lisp
 Unhandled error      stream.impure.lisp
 Failure:             timer.impure.lisp / (TIMER RELATIVE)
 Failure:             timer.impure.lisp / (TIMER ABSOLUTE)
 Failure:             timer.impure.lisp / (TIMER REPEAT-AND-UNSCHEDULE)
 Failure:             timer.impure.lisp / (TIMER RESCHEDULE)
 Failure:             timer.impure.lisp / (TIMER STRESS)
 Failure:             timer.impure.lisp / (WITH-TIMEOUT TIMEOUT)
 Failure:             timer.impure.lisp / (WITH-TIMEOUT NESTED-TIMEOUT-SMALLER)
 Failure:             timer.impure.lisp / (WITH-TIMEOUT NESTED-TIMEOUT-BIGGER)
test failed, expected 104 return code, got 1

--

-- 
--  Jerry van Dijk
--  Leiden, Holland
--
--  The owl of Minerva spreads its wings with the falling of the dusk.

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Matt Kaufmann | 10 Jan 06:20 2007
Picon

compiler speed

Hello --

I have recently tried an experiment with a program I'm working on
(ACL2) in which I avoid explicit calls to compile-file, loading .lisp
source files instead of the resulting .fasl files before saving an
image.  In SBCL 1.0 on Ubuntu, the program's regression suite ran
significantly slower when I avoided compile-file (using the same
unloaded machine both times).  This surprised me, since my
understanding is that SBCL always compiles.  I did a similar
experiment with OpenMCL and found no such slowdown (in fact I got a
slight speedup by avoiding the compile-file calls).  Here are the SBCL
time results.

With explicit compile-file:
20300.204u 246.139s 5:44:54.95 99.2%	0+0k 0+0io 0pf+0w

Without explicit compile-file:
23021.082u 224.146s 6:30:23.08 99.2%	0+0k 0+0io 0pf+0w

Here is the optimize declaim form, which is evaluated before the
loading or compiling source files.

(declaim (optimize #+(or cmu sbcl lucid lispworks) (compilation-speed 0)
                   #+lispworks (debug 0)
                   #+cmu (extensions:inhibit-warnings 3)
                   #+sbcl (sb-ext:inhibit-warnings 3)
                   (speed 3)
                   (space #+cmu 1 #-cmu 0)
                   (safety 0)))

Any thoughts on what's going on?  Is it something as simple but
low-level as locality of code or the like?  By the way, I found in an
earlier version that a type error was missed when loading .fasl files
but was caught when loading .lisp files, so I'm wondering if some
optimization is missing when loading .lisp files.  If so, then my
model that compile-file is superfluous for SBCL is wrong (well, it's
wrong of course based on the timing results).

Thanks --
-- Matt Kaufmann

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Florian Ebeling | 13 Jan 14:25 2007
Picon

Unused variable warning and multiple-value-bind: avoidable?

Is there a way to avoid the for something like the following?

       (multiple-value-bind (req-id rec-type rec-data rec-len)
	   (read-record stream)
;; code not using req-id ...
        ...)

I find it not very sensible to show a warning here, or is there
a way to skip a value, when I stll want one of the latter ones?

Declare + ignore doesn't help, it's not a block.

Florian

--

-- 
Florian Ebeling
florian.ebeling <at> gmail.com

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Stefan Lang | 13 Jan 14:45 2007
Picon
Picon

Re: Unused variable warning and multiple-value-bind: avoidable?

On Saturday 13 January 2007 14:25, Florian Ebeling wrote:
> Is there a way to avoid the for something like the following?
>
>        (multiple-value-bind (req-id rec-type rec-data rec-len)
> 	   (read-record stream)
> ;; code not using req-id ...
>         ...)
>
> I find it not very sensible to show a warning here, or is there
> a way to skip a value, when I stll want one of the latter ones?
>
> Declare + ignore doesn't help, it's not a block.

I don't quite understand. Why doesn't an ignore declaration help?

  (multiple-value-bind (a b) (values 1 2)
    a)

gives me a warning about b being defined but never used.

  (multiple-value-bind (a b) (values 1 2)
    (declare (ignore b))
    a)

gives no warning.

Stefan

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Szymon | 14 Jan 14:51 2007
Picon

compilation problem, sbcl 1.0 (debian unstable). This may be a bug.

;;
;; Hi.
;;
;; *stupid* implementation of rot13, SBCL 1.0 choke on this.  I mean,
;; it won't compile :/ (looks like infinite loop case).
;;
(DEFUN ENIGMA (STR)
  (MAP 'STRING
       (LAMBDA (C)
         (IF (ALPHA-CHAR-P C)
             (FUNCALL (IF (LOWER-CASE-P C) 'CHAR-DOWNCASE 'IDENTITY)
                      (NTH 13
                           (MEMBER C
                                   '#1=(#\A #\B #\C #\D #\E #\F #\G #\H #\I
                                        #\J #\K #\L #\M #\N #\O #\P #\Q #\R
                                        #\S #\T #\U #\V #\W #\X #\Y #\Z . #1#)
                                   :TEST 'CHAR-EQUAL)))
             C))
       STR))
;;
;; regards, Szymon.

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

Gmane