brandelune has quit [Quit: This computer has gone to sleep]
razzy has quit [Ping timeout: 258 seconds]
peterhil has quit [Ping timeout: 252 seconds]
razzy has joined #picolisp
razzy has quit [Ping timeout: 258 seconds]
razzy has joined #picolisp
<tankf33der>
razzy: llvm-ir is well optimized by a special tool called 'opt' with argument '-O3'
<tankf33der>
check src/Makefile
peterhil has joined #picolisp
razzy has quit [Ping timeout: 265 seconds]
razzy has joined #picolisp
peterhil has quit [Ping timeout: 252 seconds]
razzy has quit [Ping timeout: 258 seconds]
razzy has joined #picolisp
<razzy>
tankf33der: as i read, llvm has many libraries and infinite possibilities for optimization. my question is, if it is good as it is. i understand, that perfect optimization depends on code you run in ipl
<razzy>
*pil
<razzy>
good morning to all ;], btw.
brandelune has joined #picolisp
<tankf33der>
razzy: i belive you will not find any *working* and active develope optimizers.
<tankf33der>
opt -O3 is enough.
<Regenaxer>
Hi razzy, tankf33der!
<Regenaxer>
There are two places to optimize: PilSrc -> LLVM-IR and LLVM-IR -> machine assembly
<Regenaxer>
For PilSrc -> LLVM-IR I tried my best
<Regenaxer>
and for backend llvm opt should be the best we can do
<razzy>
thank you for answers Regenaxer tankf33der
<Regenaxer>
And for optimizing Lisp level code, a simple rule is to choose the smallest version. Use 'size" to measure it.
<Regenaxer>
And then of course measure with 'bench' overall speed
brandelune has quit [Quit: This computer has gone to sleep]
razzy has quit [Ping timeout: 244 seconds]
brandelune has joined #picolisp
razzy has joined #picolisp
razzy has quit [Quit: leaving]
razzy has joined #picolisp
<razzy>
I propably asked it before. only way to store graph is in pil database yes? for example AST(abstract syntax tree)
<Regenaxer>
Why only in DB? The natural Lisp way is in s-expressions
<Regenaxer>
DB is just for persistence
razzy has quit [Ping timeout: 260 seconds]
razzy has joined #picolisp
razzy has quit [Ping timeout: 258 seconds]
razzy has joined #picolisp
razzy has quit [Ping timeout: 265 seconds]
razzy has joined #picolisp
peterhil has joined #picolisp
razzy has quit [Ping timeout: 265 seconds]
razzy has joined #picolisp
razzy has quit [Ping timeout: 260 seconds]
razzy has joined #picolisp
<razzy>
Regenaxer: I think s-expression naturally express kind of one way tree like AST. if i have general graph, i am not sure if it works.
<Regenaxer>
You can build any structure
<Regenaxer>
see e.g. doubly linked lists in rosettacode
<Regenaxer>
Or you make objects with properties
<razzy>
i know, but searching in big data can be trouble
<Regenaxer>
the DB is also *only* objects with properties
<razzy>
doubly linked list seem broken last time
<Regenaxer>
just made persistent
<razzy>
ok, worst case, i build something. thank you :]
aw- has quit [Ping timeout: 264 seconds]
razzy has quit [Ping timeout: 260 seconds]
razzy has joined #picolisp
razzy has quit [Quit: leaving]
brandelune has quit [Quit: This computer has gone to sleep]
seteeri has joined #picolisp
<seteeri>
hello
<Regenaxer>
Cheers seteeri!
<seteeri>
it has been a while. hopefully all is well!
<Regenaxer>
yes :)
<seteeri>
finally moved back to the US so I can get back into programming again