libera/#clasp - IRC Chatlog
Search
13:50:21
drmeister
I drew all the building blocks we have and I now have 7120 training molecules and everything has slowed way down.
14:07:12
Bike
also, i filed my pr to upstream conspack a few weeks ago and haven't gotten any kind of response. i might see about taking over maintenance
14:22:57
drmeister
I've described every building block we have and built all the training molecules and there are about 7000 of them. Now everything has slowed down. So I need to get a machine working where I can profile code and speed some things up.
14:24:49
drmeister
I'm splitting up the conformational searching into multiple submissions - 4 currently.
14:26:22
drmeister
If I wanted to intern a whole bunch of complicated symbols - is there a problem with calling them all keywords?
14:29:13
yitzi
The only downside to keywords is that they won't be garbage collected. It there are used like keys in a dictionary...then that is usually what you want.
14:35:20
Bike
if you want something like interning, you don't have to use keywords. you could make an EQUAL hash table where the keys are (:pro4rr (+side :mrp) ...) or whatever
14:37:02
drmeister
Why??? "The problem is an unfortunate incompatibility of licenses: perf is GPLv2, not GPLv2+, and libbfd is GPLv3+"
14:39:33
drmeister
I would (intern "PRO4RR_{_+SIDE_MRP_}_{_-DKP_APRO4RR_}_+DKP_PRO4RR" :keyword) and then use the result instead of the "PRO4RR_{_+SIDE_MRP_}_{_-DKP_APRO4RR_}_+DKP_PRO4RR" string.
14:40:16
drmeister
I also have a hash table that now uses keys that are conses of two of these strings...
14:40:24
drmeister
(cons "PRO4RR_{_+SIDE_MRP_}_{_-DKP_APRO4RR_}_+DKP_PRO4RR" "PRO4RR_{_+SIDE_MRP_}_{_-DKP_APRO4RR_}_+DKP_PRO4RR")
14:41:28
drmeister
I call a string like "PRO4RR_{_+SIDE_MRP_}_{_-DKP_APRO4RR_}_+DKP_PRO4RR" a monomer-context.
14:42:47
drmeister
and another hash table that maps (cons monomer-context1 monomer-context2) -> vector of allowed conformations of the monomer for monomer-context2 given the conformation of the monomer for monomer-context1
14:43:39
Bike
basically what i'm thinking is, if you have a hash table that maps a monomer context to fragment information, the monomer context could be represented as the (:pro4rr ...) list instead of a string. assuming you start out with something like the list rather than a string, it might be more convenient that way
14:52:03
Bike
well, some stuff does pop out. there's condition-wait, so there's some contention. coerce-to-list and print-object are the kind of calls that might be possible to replace
14:52:25
drmeister
I dug deep into it at one time and I think I learned that backtraces on linux are broken because lots of libraries use the omit frame-pointers optimization (bastards!)
14:53:29
drmeister
So perf uses a technique to recover return addresses - they use this branch buffer that keeps track of like 20 branch addresses to fill in gaps in the backtraces. I'm really unsure about this.
14:53:57
drmeister
That on AMD the branch buffer is different from on Intel chips and perf does this successfully on Intel chips but not AMD chips.
14:54:42
drmeister
AMD has their own profiling tool that supposedly works but it's not perf and the data it generates only works with their x-windows gui for displaying flame charts.
14:55:46
Bike
this is so ridiculous. well, i can see about getting x windows on zeus, at least. that would probably be useful for other stuff anyway.