2014-10-10T00:04:09Z irsol quit (Ping timeout: 272 seconds) 2014-10-10T00:07:21Z irsol joined #sbcl 2014-10-10T00:14:17Z irsol quit (Ping timeout: 272 seconds) 2014-10-10T00:16:49Z aldo quit (Ping timeout: 272 seconds) 2014-10-10T00:19:45Z irsol joined #sbcl 2014-10-10T00:23:03Z scymtym_ quit (Ping timeout: 246 seconds) 2014-10-10T00:25:02Z irsol quit (Ping timeout: 250 seconds) 2014-10-10T00:27:56Z irsol joined #sbcl 2014-10-10T00:38:43Z milosn quit (Ping timeout: 272 seconds) 2014-10-10T00:47:36Z Bicyclidine joined #sbcl 2014-10-10T01:05:42Z leo2007 quit (Read error: Connection reset by peer) 2014-10-10T01:25:59Z milosn joined #sbcl 2014-10-10T01:32:53Z leo2007 joined #sbcl 2014-10-10T02:07:17Z Bicyclidine quit (Ping timeout: 260 seconds) 2014-10-10T02:14:27Z ekinmur joined #sbcl 2014-10-10T02:21:20Z Bicyclidine joined #sbcl 2014-10-10T02:33:58Z slyrus joined #sbcl 2014-10-10T02:39:01Z christoph_debian quit (Ping timeout: 260 seconds) 2014-10-10T02:52:02Z christoph_debian joined #sbcl 2014-10-10T02:54:57Z ekinmur quit 2014-10-10T03:39:02Z kanru` joined #sbcl 2014-10-10T04:03:40Z gingerale joined #sbcl 2014-10-10T04:33:28Z edgar-rft joined #sbcl 2014-10-10T04:44:09Z Bicyclidine quit (Quit: leaving) 2014-10-10T04:48:56Z gingerale quit (Ping timeout: 244 seconds) 2014-10-10T05:04:22Z oleo__ quit (Quit: Verlassend) 2014-10-10T05:11:51Z karswell` joined #sbcl 2014-10-10T05:13:14Z karswell quit (Read error: Connection reset by peer) 2014-10-10T05:33:21Z pranavrc joined #sbcl 2014-10-10T06:23:52Z |3b|: hmm, takes a long time to compile 500 calls to print too, not just 512 args to single function 2014-10-10T06:24:06Z |3b|: where each call calls a local function with different args 2014-10-10T06:24:51Z |3b|: same thing with only 4 combinations of args compiles ~200x faster 2014-10-10T06:25:36Z prxq joined #sbcl 2014-10-10T06:26:51Z |3b|: calling a global function with random args is ~570x faster 2014-10-10T06:27:17Z |3b|: compiling is faster in both cases, actual runtime is near 0 in all 3 cases 2014-10-10T06:43:01Z stassats joined #sbcl 2014-10-10T06:45:21Z |3b| files https://bugs.launchpad.net/sbcl/+bug/1379661 and goes back to ignoring the problem 2014-10-10T06:46:15Z angavrilov joined #sbcl 2014-10-10T06:49:01Z stassats: it's due to type-uninon calling simplify-unions and simplify-unions calling type-uninon 2014-10-10T06:49:07Z stassats: the stack exhaustion part 2014-10-10T06:49:39Z |3b|: is it worth trying to isolate that part too? 2014-10-10T06:49:51Z stassats: it spends most of the time there too 2014-10-10T06:50:03Z |3b|: this version doesn't seem to use as much ram as the version with lots of LET bindings, though still slow 2014-10-10T06:54:55Z stassats: if you trace sb-kernel::simplify-unions, and do 2014-10-10T06:54:57Z stassats: (sb-kernel::simplify-unions (list (specifier-type '(integer 4141 4141)) (specifier-type '(OR (INTEGER 2712 2712) (INTEGER 1494 1494) (INTEGER 989 989) (INTEGER 5370 5370) (INTEGER 3399 3399) (INTEGER 6570 6570) (INTEGER 6922 6922) (INTEGER 2653 2653) (INTEGER 2448 2448) (INTEGER 9855 9855))))) 2014-10-10T06:55:08Z stassats: the recursion levels goes up to 11 2014-10-10T06:56:24Z stassats: and i gather i tries to call this with all 512 numbers 2014-10-10T06:57:16Z |3b|: yeah, that sounds bad 2014-10-10T06:57:43Z stassats: which is from propagate-local-call-args 2014-10-10T06:59:25Z stassats: so, it just adds up a type of each call 2014-10-10T06:59:54Z stassats: and when you get to the last call, there's a lot of unionized types, and each time they are simplified and unionized back and forth 2014-10-10T07:01:38Z |3b|: and in the original, the args were all variables, so probably had even more complicated types :/ 2014-10-10T07:05:16Z stassats: i would guess it would be better to first collect all the types and then unionize them 2014-10-10T07:07:07Z DGASAU quit (Read error: Connection reset by peer) 2014-10-10T07:08:00Z DGASAU joined #sbcl 2014-10-10T07:08:38Z stassats: or at least make a non-recursive version of it 2014-10-10T07:09:09Z |3b| wonders if it would help to add a pass to see if any of the types could be meaningfully combined 2014-10-10T07:09:45Z stassats: an incoming type may bridge the difference between any other two distinct types 2014-10-10T07:10:16Z |3b|: wouldn't it combine with one of them on its own as well then? 2014-10-10T07:10:18Z stassats: and the incoming type may be an union type itself 2014-10-10T07:10:26Z |3b|: true 2014-10-10T07:10:56Z stassats: what doesn't have to is to call simplify-unions on the existing type 2014-10-10T07:12:26Z stassats: i'm not sure why simplify-unions has to call type-uninon2 2014-10-10T07:13:00Z stassats: ok, i see 2014-10-10T07:13:34Z stassats: well, i don't have an offhand solutions for this 2014-10-10T07:14:56Z |3b|: seems to have been around for a while, so probably not too important :) 2014-10-10T07:18:37Z psy_ quit (Ping timeout: 272 seconds) 2014-10-10T07:44:01Z psy joined #sbcl 2014-10-10T07:44:15Z kanru` quit (Remote host closed the connection) 2014-10-10T07:44:24Z fridim_ joined #sbcl 2014-10-10T07:49:44Z pranavrc quit (Ping timeout: 260 seconds) 2014-10-10T07:50:24Z pranavrc joined #sbcl 2014-10-10T07:50:24Z pranavrc quit (Changing host) 2014-10-10T07:50:24Z pranavrc joined #sbcl 2014-10-10T08:00:21Z aldo joined #sbcl 2014-10-10T08:11:05Z |3b| 's compiler can't compile that function either, so i guess i can't complain :p 2014-10-10T08:22:09Z prxq quit (Remote host closed the connection) 2014-10-10T08:41:04Z Posterdati quit (Ping timeout: 260 seconds) 2014-10-10T08:57:49Z Posterdati joined #sbcl 2014-10-10T09:37:20Z aldo quit (Ping timeout: 258 seconds) 2014-10-10T10:53:09Z aldo joined #sbcl 2014-10-10T10:55:16Z Krystof: well, that's very interesting 2014-10-10T10:55:44Z Krystof: 64-bit sbcl and 32-bit ccl produce identical fasl output for src/code/target-thread 2014-10-10T10:55:53Z Krystof: however, 64-bit ccl produces something different 2014-10-10T11:00:52Z aldo quit (Ping timeout: 240 seconds) 2014-10-10T11:01:06Z aldo joined #sbcl 2014-10-10T11:53:38Z stassats` joined #sbcl 2014-10-10T11:55:40Z stassats quit (Ping timeout: 260 seconds) 2014-10-10T12:06:08Z Hache_ joined #sbcl 2014-10-10T12:07:31Z eudoxia joined #sbcl 2014-10-10T12:22:40Z prxq joined #sbcl 2014-10-10T12:23:20Z davazp joined #sbcl 2014-10-10T12:50:50Z oleo joined #sbcl 2014-10-10T12:54:12Z wbooze joined #sbcl 2014-10-10T12:58:27Z eudoxia quit (Quit: Lost terminal) 2014-10-10T13:20:47Z DGASAU quit (Read error: Connection reset by peer) 2014-10-10T13:21:32Z DGASAU joined #sbcl 2014-10-10T13:49:10Z pranavrc quit 2014-10-10T14:23:35Z davazp quit (Remote host closed the connection) 2014-10-10T14:59:00Z gingerale joined #sbcl 2014-10-10T15:50:17Z krzysz00 quit (Ping timeout: 245 seconds) 2014-10-10T15:52:39Z Krystof: gotcha! 2014-10-10T15:52:47Z Krystof: (setf *print-circle* t) 2014-10-10T15:52:50Z Krystof: (list (sb-int:info :function :inline-expansion-designator '(setf sb-c::info-storage-capacity)) (sb-int:info :function :inline-expansion-designator 'sb-c::info-storage-capacity)) 2014-10-10T15:53:03Z Krystof: gives different output on a sbcl-built sbcl and a ccl-built sbcl 2014-10-10T15:54:36Z psy quit (Ping timeout: 260 seconds) 2014-10-10T15:57:24Z psy joined #sbcl 2014-10-10T16:15:52Z krzysz00 joined #sbcl 2014-10-10T16:19:21Z eudoxia joined #sbcl 2014-10-10T16:40:08Z krzysz00 quit (Ping timeout: 272 seconds) 2014-10-10T16:55:35Z psy quit (Disconnected by services) 2014-10-10T16:55:56Z psy_ joined #sbcl 2014-10-10T17:00:38Z hlavaty left #sbcl 2014-10-10T17:03:09Z reb quit (Remote host closed the connection) 2014-10-10T17:03:28Z eudoxia quit (Quit: leaving) 2014-10-10T17:15:02Z reb joined #sbcl 2014-10-10T17:35:48Z wbooze quit (Quit: Client Quit) 2014-10-10T17:54:08Z irsol quit (Ping timeout: 258 seconds) 2014-10-10T17:56:52Z irsol joined #sbcl 2014-10-10T17:58:02Z prxq quit (Ping timeout: 272 seconds) 2014-10-10T18:12:19Z Hache_ quit (Remote host closed the connection) 2014-10-10T18:12:32Z krzysz00 joined #sbcl 2014-10-10T18:16:43Z ehaliewicz joined #sbcl 2014-10-10T18:26:36Z oleo is now known as Guest29532 2014-10-10T18:27:28Z oleo__ joined #sbcl 2014-10-10T18:29:40Z Guest29532 quit (Ping timeout: 250 seconds) 2014-10-10T18:35:44Z slyrus quit (Ping timeout: 250 seconds) 2014-10-10T18:41:11Z slyrus joined #sbcl 2014-10-10T18:48:47Z slyrus quit (Ping timeout: 255 seconds) 2014-10-10T18:49:16Z erikc joined #sbcl 2014-10-10T18:50:18Z slyrus joined #sbcl 2014-10-10T18:56:19Z krzysz00 quit (Ping timeout: 272 seconds) 2014-10-10T18:57:22Z oleo__ quit (Quit: Verlassend) 2014-10-10T18:59:43Z stassats` quit (Ping timeout: 272 seconds) 2014-10-10T19:01:31Z oleo__ joined #sbcl 2014-10-10T19:01:36Z oleo__ quit (Read error: Connection reset by peer) 2014-10-10T19:02:00Z oleo joined #sbcl 2014-10-10T19:05:55Z pkhuong: |3b|/stassats: the easy way is to have a special union/intersection operator that widens types, and use that for constraint propagation 2014-10-10T19:06:31Z pkhuong: problem is, most code does fine, and it's easy to get catastrophically bad derivation if we widen wrong 2014-10-10T19:11:36Z krzysz00 joined #sbcl 2014-10-10T19:31:55Z aldo quit (Ping timeout: 244 seconds) 2014-10-10T19:34:30Z edgar-rft quit (Quit: activity destroyed by paranoid bleeding) 2014-10-10T19:53:43Z Bicyclidine joined #sbcl 2014-10-10T20:18:30Z fridim_ quit (Quit: Leaving) 2014-10-10T20:24:06Z karswell` quit (Remote host closed the connection) 2014-10-10T20:24:20Z karswell` joined #sbcl 2014-10-10T20:39:45Z erikc quit (Quit: erikc) 2014-10-10T21:02:22Z Bicyclidine quit (Ping timeout: 255 seconds) 2014-10-10T21:18:40Z scymtym_ joined #sbcl 2014-10-10T21:29:02Z angavrilov quit (Remote host closed the connection) 2014-10-10T21:59:22Z gingerale quit (Ping timeout: 245 seconds) 2014-10-10T22:02:39Z Bicyclidine joined #sbcl 2014-10-10T22:03:07Z irsol quit (Ping timeout: 245 seconds) 2014-10-10T22:13:18Z irsol joined #sbcl 2014-10-10T22:46:27Z irsol quit (Read error: Connection reset by peer) 2014-10-10T23:03:33Z Bicyclidine quit (Ping timeout: 272 seconds) 2014-10-10T23:07:06Z irsol joined #sbcl 2014-10-10T23:27:38Z scymtym_ quit (Ping timeout: 258 seconds)