<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div dir="ltr"></div><div dir="ltr">I didn't know that: thanks.</div><div dir="ltr"><br></div><div dir="ltr">However in this case it looks mostly like the SBCL GC is doing better: CCL is spending 85% of the time in GC, SBCL somewhat less (about 65%).</div><div dir="ltr"><br></div><div dir="ltr">I am trying to think of a case where a microbenchmark like this tells you anything useful about real programs. But I can't.</div><div dir="ltr"><br></div><div dir="ltr">--tim</div><div dir="ltr"><br></div><div dir="ltr"><blockquote type="cite">On 5 Jan 2024, at 17:55, Ron Garret <ron@flownet.com> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><meta http-equiv="Content-Type" content="text/html; charset=utf-8">CCL compiles everything. The SBCL compiler is just better.<br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Jan 5, 2024, at 9:11 AM, Tim Bradshaw <<a href="mailto:tfb@tfeb.org" class="">tfb@tfeb.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="auto" class=""><div dir="ltr" class=""></div><div dir="ltr" class="">You realise that SBCL is almost certainly compiling this and CCL is almost certainly not?</div><div dir="ltr" class=""><br class=""></div><div dir="ltr" class="">--tim</div><div dir="ltr" class=""><br class=""><blockquote type="cite" class="">On 5 Jan 2024, at 14:29, Taoufik Dachraoui <<a href="mailto:dachraoui.taoufik@gmail.com" class="">dachraoui.taoufik@gmail.com</a>> wrote:<br class=""><br class=""></blockquote></div><blockquote type="cite" class=""><div dir="ltr" class=""><div dir="ltr" class="">It looks like it is not because of the threads:<div class=""><br class=""></div><div class="">taoufik@Ankbot:~/workspace/ccl/actor$ sbcl<br class="">This is SBCL 2.3.11, an implementation of ANSI Common Lisp.<br class="">More information about SBCL is available at <<a href="http://www.sbcl.org/" class="">http://www.sbcl.org/</a>>.<br class=""><br class="">SBCL is free software, provided as is, with absolutely no warranty.<br class="">It is mostly in the public domain; some portions are provided under<br class="">BSD-style licenses. See the CREDITS and COPYING files in the<br class="">distribution for more information.<br class="">* (time (reduce #'+ (loop for i from 0 upto 100000000 collect i)))<br class="">Evaluation took:<br class=""> 1.836 seconds of real time<br class=""> 1.835223 seconds of total run time (1.351394 user, 0.483829 system)<br class=""> [ Real times consist of 1.184 seconds GC time, and 0.652 seconds non-GC time. ]<br class=""> [ Run times consist of 1.184 seconds GC time, and 0.652 seconds non-GC time. ]<br class=""> 99.95% CPU<br class=""> 3,876,850,246 processor cycles<br class=""> 1,600,427,200 bytes consed<br class=""> <br class="">5000000050000000<br class="">* taoufik@Ankbot:~/workspace/ccl/actor$ ccl<br class="">Clozure Common Lisp Version 1.12.1 (v1.12.1-22-g6b1f1d3a) LinuxX8664<br class=""><br class="">For more information about CCL, please see <a href="http://ccl.clozure.com/" class="">http://ccl.clozure.com</a>.<br class=""><br class="">CCL is free software. It is distributed under the terms of the Apache<br class="">Licence, Version 2.0.<br class="">? (time (reduce #'+ (loop for i from 0 upto 100000000 collect i)))<br class="">(REDUCE #'+ (LOOP FOR I FROM 0 UPTO 100000000 COLLECT I))<br class="">took 13,091,079 microseconds (13.091079 seconds) to run.<br class=""> 11,036,666 microseconds (11.036666 seconds, 84.31%) of which was spent in GC.<br class="">During that period, and with 24 available CPU cores,<br class=""> 12,734,283 microseconds (12.734283 seconds) were spent in user mode<br class=""> 336,005 microseconds ( 0.336005 seconds) were spent in system mode<br class=""> 1,600,000,032 bytes of memory allocated.<br class=""> 397,400 minor page faults, 0 major page faults, 0 swaps.<br class="">5000000050000000<br class="">?<br class=""></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jan 5, 2024 at 3:10 PM Taoufik Dachraoui <<a href="mailto:dachraoui.taoufik@gmail.com" class="">dachraoui.taoufik@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr" class="">Hi<div class=""><br class=""></div><div class="">In my current implementation of a classical actor model</div><div class="">I found that using ccl processes is much slower than sbcl threads</div><div class=""><br class=""></div><div class="">to create a thread I use ccl:process-run-function, is there another way to </div><div class="">create native threads that are much faster; I do not need the ccl scheduling,</div><div class="">I want to create threads that are scheduled by the OS, I think that the ccl </div><div class="">scheduler is the reason why my ccl tests are much slower than the tests run </div><div class="">with sbcl</div><div class=""><div class=""><br class=""></div><span class="gmail_signature_prefix"><div class=""><span class="gmail_signature_prefix">Regards</span></div>-- </span><br class=""><div dir="ltr" class="gmail_signature"><div dir="ltr" class="">Taoufik Dachraoui<div class=""><br class=""></div></div></div></div></div>
</blockquote></div><br clear="all" class=""><div class=""><br class=""></div><span class="gmail_signature_prefix">-- </span><br class=""><div dir="ltr" class="gmail_signature"><div dir="ltr" class="">Taoufik Dachraoui<div class=""><br class=""></div></div></div>
</div></blockquote></div></div></blockquote></div><br class=""></div></blockquote></body></html>