« first day (883 days earlier)      last day (652 days later) » 

12:09 AM
@coltim heh.. already golfing with the new filter? :) you can drop the t: there
 
 
5 hours later…
4:58 AM
@ngn cool, will need to edit this in
 
 
2 hours later…
ngn
7:28 AM
@coltim i changed key_dict to dict_key and updated the only breaking answer
 
 
2 hours later…
9:36 AM
@ngn i’ll play around with it more but i think it may be more nuanced than my original examples. like x_dict is still "remove keys in x from dict", except when x is a single integer, when it’s "drop first x items". dict_x removes the item with key x, provided x is an atom (thereby handling the gap in x_dict). I don’t think dict_list is generally supported
 
 
2 hours later…
11:19 AM
 
11:48 AM
so going back to this discussion
the win of the actual algo over the simple one is small lists?
 
 
1 hour later…
ngn
12:54 PM
@chrispsn yeah, i optimized grade only for large lists (radixsort instead of mergesort or something else)
 
 
1 hour later…
ngn
2:01 PM
@chrispsn typo in "supercalifragilisticexpialidocious" :)
 
@ngn speaking of performance.. have you taken a look at this find slowdown? k7 vs ngn/k
 
ngn
@Traws there are many factors that contribute to the slowness there
find is linear search
tio runs j on a good 64-bit machine hosted somewhere in the cloud, the ngn/k web demo runs 32-bit wasm in your browser
also, my scans are not optimized
 
2:24 PM
@ngn I see.. yeah I was thinking it must have been multiple factors to get this kind of difference
@ngn I compared with k7 32-bit wasm too btw
 
ngn
@Traws i'll have a better look later, there might be easy ways to optimize the new find impl
 
 
1 hour later…
ngn
3:51 PM
@Traws hm, actually my find seems to be well-optimised.. i suspect j has a special case for "small-domain" find (i know roger loves this kind of optimisation)
ngn/k has much better performance if you implement that trick manually: {&&/~^@[(1+|/x)#0N;x;:;!#x](x+\:x;x-\:x)}@+\1+3*!2500
tbh, i'm a bit surprised k7 (probably) uses this optimization too. in general k relies much less on special-casing, but maybe in this case it was worth it.
both j and k7 have the advantage of not having to deal with 0N-s which take up 64 bits
 
4:36 PM
interesting.. nice to see it can be brought down to the same performance level of k7 with the manual trick
yeah j has plenty of those "special code" patterns
 
ngn
now i wonder if i too should optimise small-domain find
@ktye have you done that?
 
5:18 PM
@ngn does it have to inspect everything to determine if it’s dealing with variable rank values?
 
ngn
5:44 PM
@coltim it just assumes uniform rank for now
 

« first day (883 days earlier)      last day (652 days later) »