2016-08-07T01:26:11Z em1l_ joined #sbcl 2016-08-07T01:29:33Z em1l quit (Ping timeout: 258 seconds) 2016-08-07T02:13:20Z stassats quit (Ping timeout: 250 seconds) 2016-08-07T02:26:09Z Quadrescence quit (Quit: Leaving) 2016-08-07T02:35:02Z Quadrescence joined #sbcl 2016-08-07T03:15:59Z DougNYC quit 2016-08-07T03:46:39Z oleo_ joined #sbcl 2016-08-07T03:50:51Z oleo quit (Ping timeout: 264 seconds) 2016-08-07T03:58:19Z sjl quit (Read error: Connection reset by peer) 2016-08-07T04:54:39Z SamSkulls quit (Ping timeout: 276 seconds) 2016-08-07T07:02:08Z gingerale joined #sbcl 2016-08-07T07:05:52Z angavrilov joined #sbcl 2016-08-07T07:20:17Z les joined #sbcl 2016-08-07T07:29:37Z brfennpocock quit (Remote host closed the connection) 2016-08-07T07:30:12Z brfennpocock joined #sbcl 2016-08-07T07:37:29Z les quit (Quit: "") 2016-08-07T07:37:44Z les joined #sbcl 2016-08-07T07:49:33Z brfennpocock quit (Read error: Connection reset by peer) 2016-08-07T07:50:04Z brfennpocock joined #sbcl 2016-08-07T08:32:14Z gargaml joined #sbcl 2016-08-07T09:23:56Z shka_ joined #sbcl 2016-08-07T09:24:28Z DeadTrickster joined #sbcl 2016-08-07T09:25:57Z Bike quit (Read error: No route to host) 2016-08-07T09:26:43Z Bike joined #sbcl 2016-08-07T09:44:53Z nyef joined #sbcl 2016-08-07T10:02:48Z brfennpocock quit (Ping timeout: 244 seconds) 2016-08-07T10:06:26Z Bike quit (Quit: negative interdict) 2016-08-07T10:26:25Z stassats joined #sbcl 2016-08-07T10:42:24Z DeadTrickster quit (Ping timeout: 276 seconds) 2016-08-07T10:57:05Z brfennpocock joined #sbcl 2016-08-07T11:03:12Z brfennpocock quit (Ping timeout: 276 seconds) 2016-08-07T11:17:02Z oleo_ quit (Quit: Leaving) 2016-08-07T11:24:48Z ASau quit (Ping timeout: 244 seconds) 2016-08-07T11:33:10Z nyef: Trying to build 1.3.8 and HEAD, I get a failure on host-1 of compiler/globaldb, something about SB!KERNEL:FDEFN-P not being defined for DEFINE-INFO-TYPE (:FUNCTION :DEFINITION) ? 2016-08-07T11:36:19Z oleo joined #sbcl 2016-08-07T11:55:16Z vydd quit (Ping timeout: 265 seconds) 2016-08-07T11:58:44Z vydd joined #sbcl 2016-08-07T12:04:59Z nyef: How on earth does this work for anyone? 2016-08-07T12:07:20Z nyef: Best guess: Modern SBCL doesn't expand out the type for FDEFN the same way, thus doesn't try to compile a call to FDEFN-P, while my build host DOES, hence the undefined function warning. 2016-08-07T12:21:23Z nyef: And supplying a dummy implementation in cross-misc at least gets me a build. 2016-08-07T12:49:17Z sjl joined #sbcl 2016-08-07T12:58:21Z stassats: distilled a test-case for https://bugs.launchpad.net/sbcl/+bug/655042/comments/4 2016-08-07T12:58:26Z stassats: still not clear what to do with it 2016-08-07T13:40:31Z abbe quit (Ping timeout: 258 seconds) 2016-08-07T13:41:40Z cromachina quit (Read error: Connection reset by peer) 2016-08-07T13:42:20Z abbe joined #sbcl 2016-08-07T13:43:58Z DeadTrickster joined #sbcl 2016-08-07T13:44:39Z cromachina joined #sbcl 2016-08-07T14:03:36Z DougNYC joined #sbcl 2016-08-07T14:11:59Z attila_lendvai joined #sbcl 2016-08-07T14:14:17Z sjl: just out of curiosity, can SBCL stack allocate complex numbers? The manual doesn't mention them, and I can't seem to get it to do it with (dynamic-extent), but maybe I'm just not doing something right. 2016-08-07T14:14:39Z ASau joined #sbcl 2016-08-07T14:16:29Z stassats: it can, but why do you need that? 2016-08-07T14:20:15Z sjl: just playing around with an idea I had. I have a hash table I'd ideally like to key off of pairs of integers, e.g. (gethash (50 23) h) -> contents 2016-08-07T14:20:31Z sjl: I could use an 'equal hash table with (cons x y) as the key 2016-08-07T14:20:47Z stassats: conses take up less space than complexes 2016-08-07T14:20:50Z sjl: or I could turn the number pair into a single number somehow and use a 'eql hash-table 2016-08-07T14:21:32Z stassats: considered using two hash-tables? 2016-08-07T14:21:48Z sjl: you mean nested hash-tables? 2016-08-07T14:22:19Z sjl: I think the overhead of the hash tables themselves would be too much there 2016-08-07T14:22:54Z scymtym: depending on range and sparseness, an array or nested arrays could also work 2016-08-07T14:23:10Z sjl: yeah I'm also thinking about just using a 2d array 2016-08-07T14:23:22Z sjl: just wanted to benchmark the different approaches 2016-08-07T14:23:35Z sjl: but I wanted to see if using complexes as keys would require consing 2016-08-07T14:24:47Z Shinmera: If you can fix the integers to a small enough range you could OR them together into a single fixnum. 2016-08-07T14:25:23Z sjl: Shinmera: yeah I did something similar to start -- I'm storing coordinates of things in a world 2016-08-07T14:25:27Z sjl: and I have a heightmap for the world 2016-08-07T14:25:50Z sjl: so I'm currently keying on (row-major-index heightmap x y) 2016-08-07T14:26:17Z sjl: which compiles down nicely to a few machine instructions after a couple of declarations 2016-08-07T14:26:20Z stassats: well, that would fit into a fixnum indeed 2016-08-07T14:26:39Z sjl: but then the keys of the hash table are unreadable garbage if you inspect it 2016-08-07T14:27:23Z Shinmera: So, just write a quick function that boils it down to a readable format for you 2016-08-07T14:27:24Z stassats: so if you have a map, an array, why not use it and not a hash-table? 2016-08-07T14:28:21Z sjl: the heightmap is an array of single-floats 2016-08-07T14:28:29Z DougNYC quit 2016-08-07T14:28:35Z sjl: I could just allocate a second array of lists and use that 2016-08-07T14:29:00Z sjl: but if there's only a few hundred things in the world, but the world is big, that's a lot of nil's 2016-08-07T14:29:02Z stassats: if it doesn't have to be too sparse, that'd be the best option 2016-08-07T14:29:49Z sjl: so yeah, like I said, I wanted to benchmark a couple of these different approaches and see how they work for my game 2016-08-07T14:30:19Z sjl: but wanted to sanity-check myself that using complexes as keys wouldn't require consing for lookups 2016-08-07T14:31:08Z stassats: so 2016-08-07T14:31:25Z stassats: i tested dx complex vs dx conses, conses are faster 2016-08-07T14:31:36Z stassats: for gethash on an empty hash-table 2016-08-07T14:32:22Z stassats: (i wouldn't have told you how to stack allocate complexes even if it were faster) 2016-08-07T14:32:48Z stassats: wait, my tests is not exactly correct, redoing 2016-08-07T14:33:19Z stassats: but the result still stands 2016-08-07T14:35:36Z sjl: hm, so I'll poke around at comparing (x . y) pairs to the row-major-index approach I have now and see how much worse it is 2016-08-07T14:38:51Z stassats: row-major-index is going to be obviously faster 2016-08-07T14:38:58Z stassats: it can even use eq hash-tables on sbcl 2016-08-07T14:39:58Z sjl: yeah hence the "how much" instead of "if" 2016-08-07T14:40:04Z sjl: it'd be nice to have readable keys 2016-08-07T14:40:07Z sjl: but I can live without them 2016-08-07T15:12:06Z stassats: well, of course just as i said that hashing complexes is slower, i went into optimizing it 2016-08-07T15:12:15Z stassats: now it's slightly faster 2016-08-07T15:16:49Z stassats: which makes the case of gethash+dx-allocating a complex just as fast as conses 2016-08-07T15:19:13Z stassats: the most improvement is for (sxhash '#.(complex 1d0 2d0)) => 0.370 seconds, 320,008,144 bytes consed, into 0.156 seconds, 0 bytes consed 2016-08-07T15:29:14Z stassats: sjl: so, complexes and conses are now just as fast, but stack allocating complexes is not easy and they take up more space 2016-08-07T15:29:18Z stassats: so, conses are still the way to go 2016-08-07T15:30:39Z sjl: oh, generating the hash code for a complex was consing? maybe that's what I was seeing... 2016-08-07T15:30:49Z stassats: only for double floats 2016-08-07T15:30:53Z sjl: ah 2016-08-07T15:39:05Z vydd quit (Remote host closed the connection) 2016-08-07T15:39:39Z vydd joined #sbcl 2016-08-07T15:44:39Z vydd quit (Ping timeout: 276 seconds) 2016-08-07T15:47:16Z cromachina_ joined #sbcl 2016-08-07T15:47:25Z stassats: now looking for more cases where handling of complexes can similarly be improved 2016-08-07T15:49:24Z cromachina quit (Disconnected by services) 2016-08-07T15:50:02Z cromachina_ is now known as cromachina 2016-08-07T16:21:22Z sjl quit (Ping timeout: 244 seconds) 2016-08-07T16:41:49Z attila_lendvai quit (Ping timeout: 260 seconds) 2016-08-07T16:44:15Z vydd joined #sbcl 2016-08-07T17:06:54Z Bike joined #sbcl 2016-08-07T17:07:23Z vydd quit (Remote host closed the connection) 2016-08-07T17:07:58Z vydd joined #sbcl 2016-08-07T17:08:30Z SamSkulls joined #sbcl 2016-08-07T17:12:03Z vydd quit (Ping timeout: 240 seconds) 2016-08-07T17:23:31Z ASau quit (Remote host closed the connection) 2016-08-07T17:23:58Z ASau joined #sbcl 2016-08-07T17:31:15Z DeadTrickster quit (Ping timeout: 276 seconds) 2016-08-07T17:37:26Z edgar-rft quit (Quit: edgar-rft) 2016-08-07T17:37:32Z DeadTrickster joined #sbcl 2016-08-07T17:38:31Z vydd joined #sbcl 2016-08-07T17:40:09Z sjl joined #sbcl 2016-08-07T18:22:52Z vydd quit (Remote host closed the connection) 2016-08-07T18:43:00Z vydd joined #sbcl 2016-08-07T18:54:21Z vydd quit (Remote host closed the connection) 2016-08-07T19:30:25Z attila_lendvai joined #sbcl 2016-08-07T19:38:57Z gingerale quit (Remote host closed the connection) 2016-08-07T20:36:41Z angavrilov quit (Remote host closed the connection) 2016-08-07T20:59:42Z karswell quit (Remote host closed the connection) 2016-08-07T21:00:11Z karswell joined #sbcl 2016-08-07T21:25:20Z shka_ quit (Ping timeout: 244 seconds) 2016-08-07T21:36:58Z gargaml quit (Quit: WeeChat 1.5) 2016-08-07T21:40:29Z attila_lendvai quit (Ping timeout: 260 seconds) 2016-08-07T21:49:47Z vydd joined #sbcl 2016-08-07T21:59:45Z vydd quit (Remote host closed the connection) 2016-08-07T22:01:06Z vydd joined #sbcl 2016-08-07T22:56:47Z stassats quit (Ping timeout: 258 seconds) 2016-08-07T23:00:06Z stassats joined #sbcl 2016-08-07T23:01:40Z karswell quit (Remote host closed the connection) 2016-08-07T23:02:00Z karswell joined #sbcl 2016-08-07T23:08:33Z DeadTrickster quit (Ping timeout: 240 seconds) 2016-08-07T23:44:47Z karswell quit (Remote host closed the connection) 2016-08-07T23:45:14Z karswell joined #sbcl