Hi, > The difference is, this one is much better code, which doesn't exercise > the garbage collector, so it isn't much use as a GC benchmark.
Code involving SSQL would be good for a GC benchmark. I recently
reworked the query generation in Knodium to be up-front rather than at
access-time and got an ordes of magnitude speed up and an order of
magnitude fewer GCs.
Here's a snippet from my commit message:
-----
(account 'read "1:3") query generation (each call returns 1 account object)
> (time (for-each (lambda x (account 'read "1:3")) (iota 6500)))
Original:
5.296s CPU time, 0.492s GC time (major), 3334265 mutations, 86/28886
GCs (major/minor)
5.357s CPU time, 0.48s GC time (major), 3334265 mutations, 84/28888
GCs (major/minor)
5.332s CPU time, 0.508s GC time (major), 3334265 mutations, 89/28883
GCs (major/minor)
5.284s CPU time, 0.46s GC time (major), 3334265 mutations, 83/28889
GCs (major/minor)
5.397s CPU time, 0.501s GC time (major), 3334283 mutations, 83/28889
GCs (major/minor)
With pre-generated query in read-account:
0.304s CPU time, 0.004s GC time (major), 220077 mutations, 1/656 GCs
(major/minor)
0.296s CPU time, 220077 mutations, 0/657 GCs (major/minor)
0.304s CPU time, 220077 mutations, 0/657 GCs (major/minor)
0.296s CPU time, 220077 mutations, 0/657 GCs (major/minor)
0.3s CPU time, 220077 mutations, 0/657 GCs (major/minor)
-----
Regards,
@ndy
--
[email protected]
http://www.ashurst.eu.org/
0290 DA75 E982 7D99 A51F E46A 387A 7695 7EBA 75FF
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Chicken-users mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/chicken-users
