libera/#clasp - IRC Chatlog
Search
21:08:52
yitzi
Bike: I am running flamegraphs on Inravina right now. There core::lisp_multipleValues is about ~8%.
21:48:18
drmeister
https://www.tripadvisor.com/Attractions-g8068204-Activities-Ravina_Trento_Province_of_Trento_Trentino_Alto_Adige.html
21:56:57
Bike
and hey, that bad eh? how unexpected and terrible. i guess this is why we profile. is it perchance being called from bytecode_vm
21:58:36
Bike
i was thinking of inlining it, but if the problem is just that it's called a lot and the main overhead is from the TLS lookup that might not help much
22:04:21
Bike
that's gonna require some creativity to deal with. drmeister rewrote things so bytecode_vm only calls lisp_multipleValues once (mostly) a few months ago, but that also means that bytecode_vm always calls it, even if multiple values don't actually need to be touched
22:04:25
Bike
https://github.com/clasp-developers/clasp/commit/7d430ced25cae2098bad163372779ff7d43a9055#diff-c42f70b38d648f901b23ff50fd9212017beabcf4a2cfef4d7ae091c9013fd12d
22:05:04
Bike
maybe we could do a little caching thing - so bytecode_vm doesn't call lisp_multipleValues usually, but if it does, calls it once and then just uses that thereafter
22:06:00
Bike
which won't show up in a flame graph since it's not done through a function, but i saw bytecode_call having a pretty respectable amount of self time
22:07:13
Bike
i would guess so. i forget the details of how TLS access works, but that drepper paper didn't make it seem easy
22:08:57
Bike
yeah, and there's other stuff to improve with what i'm doing as well, but it does stick out. bytecode_call and bytecode_vm are called A Lot after all, and if we adopt the bytecode fasl sort of stuff moving forward they'll be called even more
22:36:22
drmeister
Bike: I got imagemagick to tile an image from the 10GB image tiles - it's pretty fast. I can tile 12 of them in 6 seconds.
1:37:08
Bike
yitzi: not ssure how the tests missed this, but this is an implicit downcast (bad) https://github.com/clasp-developers/clasp/blob/main/src/core/lispStream.cc#L166-L173
1:42:00
Bike
there's also a little bug in the tests in that a couple of them expect a #! macro and now are failing
1:43:13
Bike
readtable-3 might be really wrong, since it makes a standard readtable, which shouldn't have an extension like #! in it
2:52:36
drmeister
That's the Leucine amino acid, when the backbone phi, psi angles are 180, 140 the probability of finding the side-chain in the chi1, chi2 dihedral angles listed.
2:53:40
drmeister
There are about 720,000 entries in this database, one rotamer per line with comments.
2:57:10
drmeister
I compare the size of the gzip'd spiroligomer conformations.cpk file vs the protein rotamer library and its 17:1 in size.
2:58:01
drmeister
So it takes 17 times as much information to specify spiroligomer structures in a modular way vs proteins.
2:58:52
drmeister
Ok, that's not completely fair because they store only the essential dihedral angles and I store every dihedral angle, angle and bond length.
3:00:45
drmeister
So it takes about as much information to describe the essence of protein structure as it does to store spiroligomer structure and we both have about 20 functional groups. Within a factor of 2.
3:09:10
drmeister
Oh dear lord - this is ridiculous. I googled "Periodic Table" to lookup atomic masses and there's a javascript widget for rotating a Bohr model of an atom. That makes zero sense.