jackdaniel changed the topic of #commonlisp to: Common Lisp, the #1=(programmable . #1#) programming language | Wiki: <https://www.cliki.net> | IRC Logs: <https://irclog.tymoon.eu/libera/%23commonlisp> | Cookbook: <https://lispcookbook.github.io/cl-cookbook> | Pastebin: <https://plaster.tymoon.eu/>
rtypo has quit [Ping timeout: 264 seconds]
akoana has quit [Quit: leaving]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 252 seconds]
szkl has quit [Quit: Connection closed for inactivity]
yitzi has joined #commonlisp
<yitzi> robin: You should probably do (SET-MACRO-CHARACTER CHAR (GET-MACRO-CHARACTER CHAR))
<yitzi> Omit the nil.
<yitzi> Since the readtable is an optional argument
<yitzi> Also, dispatch tables can be read-only...I don't recall if readtables can be.
<yitzi> thuna`: ^
NotThatRPG has joined #commonlisp
NotThatRPG has quit [Remote host closed the connection]
NotThatRPG has joined #commonlisp
<_death> there is a difference between not specifying the readtable designator (defaults to the current readtable) and specifying NIL readtable designator (uses the standard readtable)
<yitzi> Apologies. Guess I missed on that page.
yitzi has quit [Remote host closed the connection]
v88m has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
robin has quit [Quit: Leaving]
robin has joined #commonlisp
v88m has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
robin has quit [Quit: Leaving]
robin has joined #commonlisp
v88m has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
random-nick has quit [Ping timeout: 252 seconds]
v88m has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
v88m has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
jon_atack has joined #commonlisp
jonatack has quit [Ping timeout: 252 seconds]
v88m has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
istewart has joined #commonlisp
JelbyFunes has quit [Quit: Client closed]
metsomedog has joined #commonlisp
X-Scale has quit [Quit: Client closed]
reb has quit [Remote host closed the connection]
v88m has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
hcarvalhoalves has joined #commonlisp
decweb has quit [Ping timeout: 256 seconds]
v88m has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
jonatack has joined #commonlisp
jon_atack has quit [Ping timeout: 256 seconds]
FragmentedCurve_ has quit [Remote host closed the connection]
hcarvalhoalves has quit [Ping timeout: 264 seconds]
istewart has quit [Quit: Konversation terminated!]
agm has joined #commonlisp
agm has quit [Read error: Connection reset by peer]
agm has joined #commonlisp
v88m has joined #commonlisp
johnjaye has joined #commonlisp
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 264 seconds]
wacki has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
v88m has joined #commonlisp
shka has joined #commonlisp
bjorkint0sh has quit [Ping timeout: 240 seconds]
zetef has joined #commonlisp
awlygj has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
v88m has joined #commonlisp
pve has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
v88m has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
v88m has quit [Read error: Connection reset by peer]
wacki has joined #commonlisp
v88m has joined #commonlisp
rgherdt has joined #commonlisp
wacki has quit [Client Quit]
v88m has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
donleo has joined #commonlisp
Josh_2 has quit [Ping timeout: 260 seconds]
gone123 has joined #commonlisp
amb007 has quit [Ping timeout: 260 seconds]
v88m has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
Pixel_Outlaw has quit [Quit: Leaving]
rogersm has joined #commonlisp
dino_tutter has joined #commonlisp
attila_lendvai has joined #commonlisp
rogersm has quit [Quit: Leaving...]
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
attila_lendvai has quit [Ping timeout: 264 seconds]
<beach> In the dictionary entry for RESTART-CASE, shouldn't the syntax be: restart-case restartable-form {↓clause}* → {result}* rather than restart-case restartable-form {↓clause} → {result}*?
varjag has joined #commonlisp
v88m has joined #commonlisp
<jackdaniel> it should
<beach> Thanks.
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
Impralida has joined #commonlisp
subhuman has joined #commonlisp
bjorkintosh has quit [Ping timeout: 268 seconds]
bjorkintosh has joined #commonlisp
bjorkintosh has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
mathrick has quit [Ping timeout: 260 seconds]
mathrick has joined #commonlisp
Josh_2 has joined #commonlisp
agm has left #commonlisp [ERC (IRC client for Emacs 28.0.50)]
danse-nr3 has joined #commonlisp
dino_tutter has quit [Ping timeout: 255 seconds]
son0p has quit [Ping timeout: 240 seconds]
danse-nr3 has quit [Ping timeout: 260 seconds]
dinomug has joined #commonlisp
mgl has joined #commonlisp
danse-nr3 has joined #commonlisp
neano has quit [Remote host closed the connection]
csprng has quit [Quit: WeeChat 4.2.2]
Josh_2 has quit [Remote host closed the connection]
danse-nr3 has quit [Ping timeout: 255 seconds]
danse-nr3 has joined #commonlisp
dinomug has quit [Remote host closed the connection]
danse-nr3 has quit [Ping timeout: 260 seconds]
Josh_2 has joined #commonlisp
danse-nr3 has joined #commonlisp
awlygj has quit [Quit: leaving]
danse-nr3 has quit [Ping timeout: 260 seconds]
mariari has quit [Quit: WeeChat 4.2.2]
danse-nr3 has joined #commonlisp
daox has joined #commonlisp
mariari has joined #commonlisp
awlygj has joined #commonlisp
attila_lendvai has joined #commonlisp
Josh_2 has quit [Quit: Gotta go fast!]
v88m has joined #commonlisp
amb007 has quit [Ping timeout: 264 seconds]
<thuna`> Yeah, I was asking specifically for the NIL readtable. GET-MACRO-CHARACTER doesn't mention that if it's NIL it will ask for the standard readtable (unlike COPY-READTABLE) so I just wanted to check.
awlygj has quit [Quit: leaving]
awlygj has joined #commonlisp
amb007 has joined #commonlisp
Josh_2 has joined #commonlisp
kurfen has quit [Quit: ZNC - https://znc.in]
kurfen has joined #commonlisp
Josh_2 has quit [Client Quit]
rtypo has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
yitzi has joined #commonlisp
Josh_2 has joined #commonlisp
kstuart has quit [Remote host closed the connection]
v88m has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
attila_lendvai has quit [Remote host closed the connection]
attila_lendvai has joined #commonlisp
<yitzi> thuna`: Only copy-readtable appears to define this behavior. In some cases I'm not sure passing NIL makes sense. For example, in SBCL SET-MACRO-CHARACTER has this behavior but then has an assert to ensure that readtable isn't the standard readtable, presumably since it is readonly. This strikes me as a bit strange.
danse-nr3 has quit [Remote host closed the connection]
danse-nr3 has joined #commonlisp
danse-nr3 has quit [Read error: Connection reset by peer]
attila_lendvai has quit [Ping timeout: 256 seconds]
<yitzi> And, it appears that CCL does not return standard readtable in these cases. It returns `*readtable*`, so the behavior isn't consistent between at least two implementations.
v88m has joined #commonlisp
Krystof has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
danse-nr3 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
tok has joined #commonlisp
v88m has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
daox has quit [Ping timeout: 264 seconds]
son0p has joined #commonlisp
awlygj has quit [Quit: leaving]
King_julian has joined #commonlisp
awlygj has joined #commonlisp
varjag has quit [Remote host closed the connection]
daox has joined #commonlisp
jon_atack has joined #commonlisp
jonatack has quit [Ping timeout: 260 seconds]
v88m has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
daox has quit [Ping timeout: 268 seconds]
Josh_2 has quit [Quit: Gotta go fast!]
<yitzi> thuna`: I've opened a stub issue in WSCL as a note to investigate further.
yitzi has quit [Remote host closed the connection]
Josh_2 has joined #commonlisp
kevingal has joined #commonlisp
danse-nr3 has quit [Ping timeout: 240 seconds]
random-nick has joined #commonlisp
v88m has joined #commonlisp
Cymew has joined #commonlisp
daox has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
varjag has joined #commonlisp
v88m has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
younder has quit [Read error: Connection reset by peer]
younder has joined #commonlisp
prokhor has joined #commonlisp
v88m has joined #commonlisp
prokhor_ has quit [Ping timeout: 268 seconds]
rgherdt_ has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
yitzi has joined #commonlisp
rgherdt has quit [Ping timeout: 256 seconds]
waleee has joined #commonlisp
amb007 has quit [Ping timeout: 240 seconds]
amb007 has joined #commonlisp
<Josh_2> (lambda () "Hi :wave: ")
<metsomedog> 'HI
waleee has quit [Quit: WeeChat 4.1.2]
daox has quit [Ping timeout: 255 seconds]
Cymew has quit [Ping timeout: 255 seconds]
X-Scale has joined #commonlisp
craigbro` has joined #commonlisp
craigbro` has quit [Remote host closed the connection]
daox has joined #commonlisp
dino_tutter has joined #commonlisp
edgar-rft_ has joined #commonlisp
daox has quit [Ping timeout: 260 seconds]
edgar-rft has quit [Ping timeout: 240 seconds]
semarie has quit [Ping timeout: 268 seconds]
semarie has joined #commonlisp
thuna` has quit [Ping timeout: 264 seconds]
daox has joined #commonlisp
NotThatRPG has quit [Quit: Textual IRC Client: www.textualapp.com]
daox has quit [Ping timeout: 260 seconds]
daox has joined #commonlisp
waleee has joined #commonlisp
daox has quit [Ping timeout: 240 seconds]
<_death> clhs glossary/readtable designator
<ixelp> CLHS: Glossary-Section R
<_death> clhs 2.1.1.2
<ixelp> CLHS: Section 2.1.1.2
bitspook has joined #commonlisp
daox has joined #commonlisp
daox has quit [Ping timeout: 252 seconds]
dlowe has joined #commonlisp
X-Scale has quit [Ping timeout: 250 seconds]
josrr has joined #commonlisp
X-Scale has joined #commonlisp
King_julian has quit [Quit: Lost terminal]
daox has joined #commonlisp
v88m has joined #commonlisp
daox has quit [Ping timeout: 268 seconds]
daox has joined #commonlisp
zetef has quit [Remote host closed the connection]
gone123 has quit [Remote host closed the connection]
gone123 has joined #commonlisp
waleee has quit [Ping timeout: 240 seconds]
brokkoli_origin has quit [Ping timeout: 240 seconds]
subhuman has quit [Remote host closed the connection]
X-Scale has quit [Quit: Client closed]
King_julian has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
danse-nr3 has joined #commonlisp
brokkoli_origin has joined #commonlisp
brokkoli_origin has quit [Remote host closed the connection]
NotThatRPG has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
brokkoli_origin has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
v88m has joined #commonlisp
amb007 has joined #commonlisp
subhuman has joined #commonlisp
yitzi has quit [Remote host closed the connection]
varjag has quit [Quit: ERC (IRC client for Emacs 27.1)]
v88m has quit [Read error: Connection reset by peer]
NotThatRPG has quit [Ping timeout: 256 seconds]
<subhuman> websocket-driver is weird
v88m has joined #commonlisp
subhuman has quit [Ping timeout: 256 seconds]
daox has quit [Ping timeout: 264 seconds]
X-Scale has joined #commonlisp
kevingal has quit [Ping timeout: 240 seconds]
NotThatRPG has joined #commonlisp
daox has joined #commonlisp
NotThatRPG has quit [Client Quit]
NotThatRPG has joined #commonlisp
NotThatRPG has quit [Client Quit]
NotThatRPG has joined #commonlisp
NotThatRPG has quit [Client Quit]
NotThatRPG has joined #commonlisp
NotThatRPG has quit [Client Quit]
NotThatRPG has joined #commonlisp
amb007 has quit [Ping timeout: 268 seconds]
King_julian has quit [Quit: Lost terminal]
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
NotThatRPG has joined #commonlisp
ocra8 has joined #commonlisp
NotThatRPG has quit [Client Quit]
mathrick has quit [Ping timeout: 260 seconds]
eddof13 has joined #commonlisp
PuercoPop has quit [Remote host closed the connection]
eddof13 has quit [Quit: eddof13]
younder has quit [Read error: Connection reset by peer]
King_julian has joined #commonlisp
alcor has joined #commonlisp
edgar-rft_ is now known as edgar-rft
mathrick has joined #commonlisp
younder has joined #commonlisp
eddof13 has joined #commonlisp
Cymew has joined #commonlisp
NotThatRPG has joined #commonlisp
NotThatRPG has quit [Client Quit]
v88m has quit [Read error: Connection reset by peer]
NotThatRPG has joined #commonlisp
mgl has quit [Ping timeout: 256 seconds]
v88m has joined #commonlisp
King_jul1an has joined #commonlisp
King_jul1an has quit [Client Quit]
King_jul1an has joined #commonlisp
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
King_jul1an has quit [Client Quit]
King_jul1an has joined #commonlisp
danse-nr3 has quit [Ping timeout: 264 seconds]
danse-nr3 has joined #commonlisp
NotThatRPG has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
gone123 has quit [Remote host closed the connection]
King_jul1an has quit [Quit: leaving]
King_jul1an has joined #commonlisp
King_jul1an has quit [Client Quit]
eddof13 has quit [Quit: eddof13]
eddof13 has joined #commonlisp
nybble has joined #commonlisp
v88m has joined #commonlisp
manwithluck has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
lagash has joined #commonlisp
King_julian has quit [Ping timeout: 260 seconds]
v88m has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
danse-nr3 has quit [Ping timeout: 255 seconds]
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
NotThatRPG has joined #commonlisp
NotThatRPG has quit [Client Quit]
v88m has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
wacki has joined #commonlisp
v88m has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
dtman34 has quit [Ping timeout: 240 seconds]
daox has quit [Ping timeout: 264 seconds]
NotThatRPG has joined #commonlisp
NotThatRPG has quit [Client Quit]
NotThatRPG has joined #commonlisp
wheeler has quit [Ping timeout: 256 seconds]
danse-nr3 has joined #commonlisp
daox has joined #commonlisp
ocra8 has quit [Quit: WeeChat 4.2.2]
daox has quit [Ping timeout: 260 seconds]
jjnkn has joined #commonlisp
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mgl has joined #commonlisp
daox has joined #commonlisp
v88m has joined #commonlisp
v88m has quit [Read error: Connection reset by peer]
NotThatRPG has joined #commonlisp
NotThatRPG has quit [Client Quit]
NotThatRPG has joined #commonlisp
daox has quit [Ping timeout: 252 seconds]
aciep has joined #commonlisp
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
daox has joined #commonlisp
wacki has quit [Read error: Connection reset by peer]
<metsomedog> from a performance standpoint, should it matter if I use a 1d or 2d array if the total number of elements are the same?
<metsomedog> in particular for a bit array, but also in general
cage has joined #commonlisp
wheeler has joined #commonlisp
daox has quit [Ping timeout: 252 seconds]
Cymew has quit [Ping timeout: 252 seconds]
<dlowe> note that you can access elements of a n-d array as an offset from 0 using row-major-aref
jjnkn has quit [Ping timeout: 256 seconds]
wacki has joined #commonlisp
<metsomedog> I'm currently using 2d array but wondering if 1d array would be more optimized somehow
mgl has quit [Ping timeout: 256 seconds]
<dlowe> are you sure you would be optimizing the right thing?
<paulapatience> 1d array will be faster
<metsomedog> tbh performance is not really a problem, I'm just curious if there are optimizations being done on 1d arrays that are not done on 2d arrays, afaik under the hood even the 2d array is stored as a 1d array?
<paulapatience> It's more than a 2d array incurs more overhead
akoana has joined #commonlisp
<paulapatience> s/more than/more that/
NotThatRPG has joined #commonlisp
NotThatRPG has quit [Client Quit]
<metsomedog> I see, thanks
NotThatRPG has joined #commonlisp
<dlowe> you could disassemble some accesses and see how much it changes
<bike> under the hood a 2d array will probably be implemented as a 1d array. 1d arrays may be faster if only because the implementation has not bothered to optimize multidimensional array access much.
dtman34 has joined #commonlisp
daox has joined #commonlisp
bitspook has quit [Remote host closed the connection]
bitspook has joined #commonlisp
<dlowe> wouldn't you still need a multiply per dimension if the accesses aren't static
<dlowe> array packing is more likely to affect performance than dimension, honestly. Having to dereference every array element is expensive.
<dlowe> arrays of fixnums don't have this problem but if you have an array of structs it can bog things down
_cymew_ has joined #commonlisp
<metsomedog> yea that makes sense
eddof13 has quit [Quit: eddof13]
awlygj has quit [Quit: leaving]
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Pixel_Outlaw has joined #commonlisp
<paulapatience> On SBCL they are seemingly not: https://www.reddit.com/r/lisp/comments/qlh2vd/comment/hj479kb/
<ixelp> stassats comments on Tricks for optimizing CommonLisp performance? Behaviors to avoid?
<paulapatience> Or rather, I suppose they might be. But you need to go through the array header, which is unnecessary if you have just a 1d array
yitzi has joined #commonlisp
NotThatRPG has joined #commonlisp
<paulapatience> Displaced arrays have the same problem
josrr has quit [Remote host closed the connection]
ronald has joined #commonlisp
eddof13 has joined #commonlisp
kevingal has joined #commonlisp
josrr has joined #commonlisp
NotThatRPG has quit [Quit: Textual IRC Client: www.textualapp.com]
NotThatRPG has joined #commonlisp
NotThatRPG has quit [Client Quit]
NotThatRPG has joined #commonlisp
NotThatRPG has quit [Client Quit]
waleee has joined #commonlisp
<ixelp> Improved GC - SICL Compiler
<younder> Though om my SICL reports cite it is not actually SICL related. Instead it boosts SBCL's performance.
mesaoptimizer has quit [Quit: mesaoptimizer]
mesaoptimizer has joined #commonlisp
<younder> On my SBCL it has the same effect as putting a turbo in your car. Everything just runs faster.
Cymew has joined #commonlisp
<metsomedog> is there a way to "flatten" a cons cell and/or list into function argumens, similar to the ,@list operator? I guess APPLY? for example for (let ((c (cons 1 2))) (+ (car c) (cdr c))) or (let ((l (list 1 2))) (+ (first l) (second l)))
daox has quit [Ping timeout: 268 seconds]
agm has joined #commonlisp
<agm> metsomedog: the last argument to APPLY gets spread. is that what you are asking?
<ixelp> The alexandria Reference Manual
<metsomedog> lets say I have a list L, I'd like to do something like (+ ,@L)
<agm> so if you do (apply #'+ 1 2 '(3 4)), you get 10
<metsomedog> basically this without eval: (let ((l (list 1 2 3))) (eval `(+ ,@l)))
<dlowe> (reduce '+ L)
<agm> okay, just do (apply #'+ l)
<younder> Yeah, apply, funcall are things you don't have to deal with in a lisp-1 (scheme)
<dlowe> or (apply '+ L)
<metsomedog> which is preferred of apply and reduce for such scenarios?
<agm> APPLY seems simpler to me
<metsomedog> also, is there a way to do something similar to "reduce" a cons cell used as a pair of values?
waleee has quit [Ping timeout: 264 seconds]
<Shinmera> clhs call-arguments-limit
<ixelp> CLHS: Constant Variable CALL-ARGUMENTS-LIMIT
<Shinmera> ^ this is why you don't want to use apply
daox has joined #commonlisp
<dlowe> metsomedog: not really. bare cons cells aren't commonly used as lists
<dlowe> I pretty much never use cons cells that way. Lists are easier to manipulate and work most places bare cons cells do
<dlowe> it used to be a memory conservation technique
<yitzi> It might be a bit kludgey, but maplist?
<yitzi> Or just use destructuring in LOOP
<dlowe> Alexandria has LISTIFY that will change it to a proper list, I think
Cymew has quit [Ping timeout: 272 seconds]
<metsomedog> Shinmera: I only have a few elements so it won't run into this limit
<metsomedog> thanks all
<metsomedog> Similar to this https://stackoverflow.com/questions/1219185/which-is-better-reduce-or-apply (clojure) I checked for CL and found apply to be slightly faster than reduce, so I guess apply can be used in the general case
<ixelp> lisp - Which is better?: (reduce + ...) or (apply + ...)? - Stack Overflow
<metsomedog> apply: 0.113 seconds of real time and 302,730,372 processor cycles; reduce: 0.136 seconds of real time and 369,950,436 processor cycles
<craigbro> how good is vararg handings in your cl...
<metsomedog> dlowe: I agree it's pretty inconvenient to use cons cells, cause you basically have to do destructuring-bind everywhere or car and cdr
<Shinmera> c-a-l is as low as 4096 in reality (on clisp)
<agm> metsomedog: that's not a surprise; APPLY calls the function once with all the arguments, REDUCE calls the function with the first two args, then with the result and with the third arg, and so on
<dlowe> lists work just fine in ASSOC which is where you usually find it still in canonical lisp
<dlowe> one could create an n-reduce which allowed functions to consume more arguments
<younder> Have you considered that defstruct can be made of type list. Providing a quick and dirty way to access random elements in a list without makeing a mess of it and it is also READ'able.
<metsomedog> dlowe: I was using cons cell for 2d array indices in a pathfinding algorithm
<Shinmera> standard-structures are also READable
Fade has quit [Quit: leaving]
<dlowe> metsomedog: a struct would be way more readable and just as fast
<metsomedog> maybe I will make a struct point2 or something
mgl has joined #commonlisp
<dlowe> a cons is basically a struct with some weird field names
<Shinmera> a struct with slot type T
X-Scale has quit [Quit: Client closed]
NotThatRPG has joined #commonlisp
ethanxxxl has joined #commonlisp
waleee has joined #commonlisp
JelbyFunes has joined #commonlisp
Impralida has quit [Remote host closed the connection]
_cymew_ has quit [Ping timeout: 260 seconds]
X-Scale has joined #commonlisp
NotThatRPG has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mgl has quit [Ping timeout: 256 seconds]
jmdaemon has joined #commonlisp
<metsomedog> hmm so I tested with struct (defstruct point2 (x 0 :type fixnum) (y 0 :type fixnum)) instead of cons and the algorithm got notably slower
Fade has joined #commonlisp
Fade has quit [Changing host]
Fade has joined #commonlisp
Fade is now known as Fade
brokkoli_origin has quit [Ping timeout: 268 seconds]
<metsomedog> CONS: 0.760 seconds of real time, 2,054,543,481 processor cycles, 218,184,640 bytes consed; STRUCT: 1.110 seconds of real time, 2,985,322,149 processor cycles, 285,245,360 bytes consed; LIST: 0.840 seconds of real time, 2,266,198,695 processor cycles, 285,281,232 bytes consed
<metsomedog> sorry for spam btw
<metsomedog> ^ dijkstra for connected graph with 1024x1024 vertices
brokkoli_origin has joined #commonlisp
brokkoli_origin has quit [Remote host closed the connection]
danse-nr3 has quit [Ping timeout: 260 seconds]
zetef has joined #commonlisp
brokkoli_origin has joined #commonlisp
ec has quit [Ping timeout: 260 seconds]
daox has quit [Ping timeout: 256 seconds]
<younder> Funny, defstruct should inline. defclass does not on SBCL
mgl has joined #commonlisp
<younder> setters and getters that is.
NotThatRPG has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 29.3]
gjvc has joined #commonlisp
daox has joined #commonlisp
<younder> Admittedly my info is secondhand from hadley, but I trust her to be correct. She based her third-movement compiler on this assumption
<metsomedog> well I haven't changed any optimizating settings in the compiler (debug, safety etc.) maybe that affects things
<Shinmera> what does that actually measure
<Shinmera> cause defstruct constructors by default use kargs, which obviously takes more time to parse than cons
<Shinmera> similarly I have no idea what you're actually doing with the structs
Lord_Nightmare has quit [Ping timeout: 246 seconds]
<metsomedog> So I have implemented the function dijkstra, and basically I just replaced all uses (car cons) with (point2-x point) and tested the runtimes. The runtimes are recorded from: (let ((input (make-array '(1024 1024))) (weights (lambda (v) 1))) (time (dijkstra input weights)))
<metsomedog> I will paste, sec
dlowe has quit [Ping timeout: 240 seconds]
anticomputer has quit [Ping timeout: 260 seconds]
mgl has quit [Ping timeout: 264 seconds]
<Shinmera> kandria contains a fairly optimised a* https://github.com/Shirakumo/kandria/blob/master/move-to.lisp#L3-L39
<ixelp> kandria/move-to.lisp at master · Shirakumo/kandria · GitHub
<Shinmera> though it may also be overcomplex for your use
<Shinmera> since it requires metadata per node connection, which is extra overhead
anticomputer has joined #commonlisp
<metsomedog> https://plaster.tymoon.eu/view/4307#4307 if you are interested
<metsomedog> it's not unlikely I have made some mistake
<Shinmera> Add (declare (optimize speed)) at the start of the function and it'll tell you a buncha stuff
<metsomedog> 43 notes T.T
<Shinmera> another easy win will be (defstruct (point2 (:constructor make-point2 (x y))) ...)
<Shinmera> so you avoid the argparse
<Shinmera> (declaim (inline make-point2)) before the defstruct will also help
<Shinmera> and then you might want to take care of type declarations so it doesn't have to check when it doesn't know
<Shinmera> anyhow
<Shinmera> plenty of things to do to make this win in the end
<Shinmera> and it will win, because it carries more information more compactly than a cons can
akoana has quit [Ping timeout: 268 seconds]
<Shinmera> fixnum is also not the best type for an index, since array-dimension-limit is significantly lower than most-positive-fixnum
akoana has joined #commonlisp
<Shinmera> (not to mention fixnum includes negative integers)
<Shinmera> so another win would be instead of fixnum something like (unsigned-byte 32)
<metsomedog> thanks for all the tips!
<Shinmera> no prob
<Shinmera> not that I'm saying you should do all this stuff
<metsomedog> I'm using the "point" for delta as well so it must include negative values, is there some "signed byte 32"?
<Shinmera> sure
eddof13 has quit [Quit: eddof13]
<metsomedog> did the above suggestions and the struct version is still slower, I'm sure it would be faster if I went through all of the compiler notes though, and it's probably better long-term to use the struct
<Shinmera> if you're using this as practise, go ahead
<Shinmera> but if not, don't worry about it until you have to
<metsomedog> well I'm not gonna go and refactor everything at this point, I'm using this code for the current game jam
<metsomedog> but it's nice to get a feel for how things perform though
<metsomedog> I was pleasantly suprised that using cons cells or 2-element lists are quite fast without any type declarations etc. tho
eddof13 has joined #commonlisp
<metsomedog> gotta head off now, thanks again to everyone giving advice
metsomedog has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)]
jmdaemon has quit [Ping timeout: 260 seconds]
agm has quit [Ping timeout: 260 seconds]
zetef has quit [Remote host closed the connection]
waleee has quit [Ping timeout: 264 seconds]
waleee has joined #commonlisp
alcor has quit [Ping timeout: 240 seconds]
bitspook has quit [Ping timeout: 250 seconds]
jmdaemon has joined #commonlisp
aciep has quit [Ping timeout: 240 seconds]
st_aldini1 has joined #commonlisp
st_aldini has quit [Ping timeout: 240 seconds]
st_aldini1 is now known as st_aldini
bitspook has joined #commonlisp
King_julian has joined #commonlisp
wacki has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
daox has quit [Ping timeout: 260 seconds]
bitspook has quit [Ping timeout: 250 seconds]
_ethanxxxl has joined #commonlisp
waleee has quit [Ping timeout: 264 seconds]
ethanxxxl has quit [Read error: Connection reset by peer]
waleee has joined #commonlisp
shka has quit [Quit: Konversation terminated!]
daox has joined #commonlisp
pve has quit [Quit: leaving]
clothespin has joined #commonlisp
<clothespin> are there any hunchentoot hackers here?
<clothespin> I was wondering what I have to do to get hunchentoot to serve over https on sbcl
<clothespin> do I have to proxy?
fourier__ is now known as fourier
fourier has quit [Changing host]
fourier has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 240 seconds]
dino_tutter has quit [Ping timeout: 256 seconds]
Lord_of_Life has joined #commonlisp
bitspook has joined #commonlisp
kevingal has quit [Ping timeout: 264 seconds]
eddof13 has quit [Quit: eddof13]
eddof13 has joined #commonlisp
King_julian has quit [Quit: Lost terminal]
bitspook has quit [Ping timeout: 250 seconds]
eddof13 has quit [Ping timeout: 260 seconds]
<dbotton> you can use without a proxy
<clothespin> do i have to install some kind of ssl lib?
<dbotton> I use CLACK that wraps around hunchentoot so never looking into but there are instructions in the docs if irk
King_julian has joined #commonlisp
<dbotton> the code that uses CLACK with ssl can be found here at https://github.com/rabbibotton/clog/blob/main/source/clog-connection-websockets.lisp on line 389 if that helps
<ixelp> clog/source/clog-connection-websockets.lisp at main · rabbibotton/clog · GitHub
bitspook has joined #commonlisp
<dbotton> personally I prefer to proxy http and https to my web apps with apache or nginx etc
<clothespin> thanks
bitspook has quit [Ping timeout: 250 seconds]
rgherdt_ has quit [Quit: Leaving]
bitspook has joined #commonlisp
Lord_Nightmare has joined #commonlisp
ethanxxxl has joined #commonlisp
_ethanxxxl has quit [Read error: Connection reset by peer]
bitspook has quit [Ping timeout: 250 seconds]
akoana has quit [Ping timeout: 252 seconds]
jmiven has quit [Quit: reboot]
jmdaemon has quit [Ping timeout: 268 seconds]
jmiven has joined #commonlisp
bitspook has joined #commonlisp
King_julian has quit [Ping timeout: 260 seconds]
tok has quit [Remote host closed the connection]
bitspook has quit [Ping timeout: 250 seconds]
akoana has joined #commonlisp
donleo has quit [Ping timeout: 264 seconds]
reb has joined #commonlisp
bitspook has joined #commonlisp
bitspook has quit [Ping timeout: 250 seconds]
molson has quit [Remote host closed the connection]
daox has quit [Ping timeout: 240 seconds]