razzy has quit [Ping timeout: 260 seconds]
razzy has joined #picolisp
razzy has quit [Ping timeout: 260 seconds]
razzy has joined #picolisp
theruran has quit [Ping timeout: 264 seconds]
theruran has joined #picolisp
aw- has joined #picolisp
theruran has quit [Ping timeout: 256 seconds]
theruran has joined #picolisp
razzy has quit [Ping timeout: 260 seconds]
razzy has joined #picolisp
aw- has quit [Quit: Leaving.]
aw- has joined #picolisp
razzy has quit [Ping timeout: 260 seconds]
razzy has joined #picolisp
<
tankf33der>
Regenaxer: morning
<
tankf33der>
i have a server with 1TB memory
<
Regenaxer>
Good morning tankf33der!
<
tankf33der>
i wonder how to calculate gc benchmark correctly
<
Regenaxer>
Which benchmark?
<
tankf33der>
Benchmark of gc
<
Regenaxer>
Allocate a big heap, fill with data?
beneroth has joined #picolisp
<
tankf33der>
Like this:
<
tankf33der>
(gc 1000000)
<
tankf33der>
(bench (gc))
<
Regenaxer>
Yes, but this is probably fast, as the heap is empty
<
tankf33der>
then i need to read something big, right?
<
Regenaxer>
Depending on the data, it takes longer
<
Regenaxer>
Not read, this takes too long
<
Regenaxer>
(need ...)
<
Regenaxer>
or some tree
<
Regenaxer>
Perhaps generate random numbers and 'idx' them?
<
tankf33der>
for 1TB?
<
Regenaxer>
hehe, yeah
<
Regenaxer>
Let me estimate
<
Regenaxer>
(do 40000 (idx 'Tree (rand) T))
<
Regenaxer>
I think 24 bytes per node on the average
<
Regenaxer>
1000000000/24 = 41666667
<
Regenaxer>
So about 40 million nodes
<
Regenaxer>
I think this will take hours ;)
<
Regenaxer>
or at least many minutes
<
Regenaxer>
GC may take 20 minutes or so?
<
tankf33der>
Compiled
<
tankf33der>
should i do (gc 1000000) before?
<
Regenaxer>
yes, or better (heap 999999)
<
Regenaxer>
So (do 40000000 ...
<
Regenaxer>
you are right, (gc 999999) is better
<
Regenaxer>
otherwise it shrinks again
<
tankf33der>
Then i should do (gc) or (gc 0) ?
<
Regenaxer>
Seems my size calculations are wrong
<
Regenaxer>
I tried with 1 GiB, 1/1000 your size
<
Regenaxer>
ok, needs (gc 999) and (do 40000000 (idx 'Tree (rand) T)), right?
<
Regenaxer>
I think 'idx' takes too long
<
Regenaxer>
very deep tree
<
Regenaxer>
Better (need ...) ?
<
Regenaxer>
or (make )
<
tankf33der>
Let me show you first timing
<
Regenaxer>
finished here:
<
Regenaxer>
: (gc 999)
<
Regenaxer>
: (do 40000000 (idx 'Tree (rand) T))
<
Regenaxer>
: (heap)
<
Regenaxer>
-> 1015
<
Regenaxer>
: (heap T)
<
Regenaxer>
So the heap is indeed full
<
Regenaxer>
: (size Tree)
<
Regenaxer>
-> 66357280
<
Regenaxer>
: (bench (gc))
<
Regenaxer>
8.266 sec
<
Regenaxer>
Size and time should be thousand times more in your case
<
Regenaxer>
8000 seconds is more than 2 hours
tankf33der has joined #picolisp
<
tankf33der>
Regenaxer: ping
<
tankf33der>
Still working, will be long
<
Regenaxer>
I hope the machine is not only big but also fast ;)
<
tankf33der>
Latest cpu and fast memory (3Ghz)
<
Regenaxer>
Most critical is memory and cache speed
Svjatoslav has joined #picolisp
razzy has quit [Ping timeout: 268 seconds]
razzy has joined #picolisp
razzy has quit [Ping timeout: 240 seconds]
razzy has joined #picolisp
razzy has quit [Ping timeout: 240 seconds]
razzy has joined #picolisp
razzy has quit [Ping timeout: 240 seconds]
razzy has joined #picolisp
aw- has quit [Ping timeout: 245 seconds]
mmvmm has joined #picolisp
<
mmvmm>
Hello there, does any one have an example of websockets and Picolisp?
<
Regenaxer>
Hi mmvmm! I think there is an article in the wiki
<
mmvmm>
I know but all of the links with examples from that art are dead :(
<
Regenaxer>
I never used that, I prefer ServerSentEvents
mmvmm has quit [Quit: Client closed]
aw- has joined #picolisp