00:13 <+bridge> [ddnet] I quit, I swear 00:16 <+bridge> [ddnet] :PES2_WotAlt: 01:39 <+bridge> [ddnet] <πŸ–€SmetanolubπŸ’Ž> nasal spray drug addict 01:40 <+bridge> [ddnet] <πŸ–€SmetanolubπŸ’Ž> its true 01:40 <+bridge> [ddnet] <πŸ–€SmetanolubπŸ’Ž> i was addict to that some time 04:20 <+bridge> [ddnet] it's one than two 04:20 <+bridge> [ddnet] everyone busy or everyone ignores me 04:35 <+bridge> [ddnet] consider making issue on github for that 04:38 <+bridge> [ddnet] nothing happens when i click it too 05:19 <+bridge> [ddnet] how? and where 05:19 <+bridge> [ddnet] https://github.com/ddnet 05:19 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues 05:19 <+bridge> [ddnet] here actually 05:19 <+bridge> [ddnet] (2nd link) 05:20 <+bridge> [ddnet] ye 05:20 <+bridge> [ddnet] and create new 05:20 <+bridge> [ddnet] should be know anything before this? 05:20 <+bridge> [ddnet] just write issue and enter? 05:20 <+bridge> [ddnet] just fill the description and issue name 05:21 <+bridge> [ddnet] you can add that screenshot from above 05:21 <+bridge> [ddnet] i think that devs rather look at issues than #developer 05:22 <+bridge> [ddnet] ok give me minute too make account 05:23 <+bridge> [ddnet] :cagent_heart: 05:54 <+bridge> [ddnet] :feelsamazingman: 05:54 <+bridge> [ddnet] oh this automated come here nice 05:55 <+bridge> [ddnet] next time i should be changed name the photo:brownbear: 06:13 <+bridge> [ddnet] anyway thanks @Souly and @louis 06:13 <+bridge> [ddnet] :cagent_heart: 11:48 <+bridge> [ddnet] did one of us work on cyberpunk 2077? πŸ˜› 11:48 <+bridge> [ddnet] 40% cpu usage 20% gpu usage, 20 fps, like wtf 11:48 <+bridge> [ddnet] y u no just use more? 11:54 <+ChillerDragon> was this a front? 11:54 <+ChillerDragon> so rude @Learath2 13:23 <+bridge> [ddnet] limited by single-thread performance? 14:48 <+bridge> [ddnet] Apparently it's task manager misreporting gpu utilization 14:48 <+bridge> [ddnet] So I'm at 100% gpu usage πŸ˜› 14:49 <+bridge> [ddnet] Guess I'll have to play at low if I want 60fps :/ 15:00 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/786593186050998322/unknown.png 15:01 <+bridge> [ddnet] so recommended specs mean 60 FPS at lowest settings? πŸ˜„ 15:01 <+bridge> [ddnet] minimal specs must be 60 FPS in main menu then 15:03 <+bridge> [ddnet] I can't do better than 34fps on ultra, though that's fairly stable 15:04 <+bridge> [ddnet] If I have a gpu bottleneck with a 1080, you'll definitely have one with a 1060 super, so yeah that would only run it at low 15:04 <+bridge> [ddnet] (though I am on 1440p so the requirements probably don't apply) 15:13 <+bridge> [ddnet] Why is it so hard to get gpu utilization? On linux I don't even know if there is a way 15:14 <+bridge> [ddnet] @Learath2 Ryozuki sent me this 15:14 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/786596795635597333/a9100f2ddf6883c6b78f669063c9fb3f29e8620f.png 15:16 <+bridge> [ddnet] I would upgrade my gpu, if anyone had any gpus in stock....... 15:16 <+bridge> [ddnet] I'd assume this table means 60 fps 15:16 <+bridge> [ddnet] @Learath2 i have a spare gtx 760 if u want 15:17 <+bridge> [ddnet] :greenthing: 15:17 <+bridge> [ddnet] It could probably work at 60fps at 1080p 15:17 <+bridge> [ddnet] I have a 2060 so I will play without raytracing xD 15:17 <+bridge> [ddnet] do u lose fps 15:17 <+bridge> [ddnet] That's what you get for buying the cheapest rtx card 15:17 <+bridge> [ddnet] if u turn raytracing on? 15:18 <+bridge> [ddnet] I don't have it installed yet 15:18 <+bridge> [ddnet] I assume there is DLSS support? 15:18 <+bridge> [ddnet] That could be a game changer 15:18 <+bridge> [ddnet] ofc, it's an nvidia title 15:18 <+bridge> [ddnet] Can the 10x series do dlss? 15:18 <+bridge> [ddnet] but dlss is just cheating 15:19 <+bridge> [ddnet] nah you need rt cores to do dlss 15:19 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/786597875206586408/Cyberpunk-2077-NVIDIA-GeForce-RTX-Official-PC-Performance-benchmarks-With-Ray-Tracing-DLSS-on-RTX-30.png 15:19 <+bridge> [ddnet] rendering at 1080p and upscaling to 4k is meh, no matter how smart your algorithm is 15:19 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/786598055666647100/Cyberpunk-2077-NVIDIA-4k.png 15:19 <+bridge> [ddnet] 22 fps at 4k 15:19 <+bridge> [ddnet] :justatest: 15:20 <+bridge> [ddnet] even the 3090 can't do ultra at 4k 15:20 <+bridge> [ddnet] This upscaling is insanely good, it produces better images than native 15:20 <+bridge> [ddnet] better than native? 15:20 <+bridge> [ddnet] I don't know at which "scaling ratio" it changes but at reasonable ratios yep 15:21 <+bridge> [ddnet] sounds like marketing, how could guessing pixels ever be better than calculating what they actually should be? 15:21 <+bridge> [ddnet] For 1080 -> 1440 I have seen the digital foundry video and either you can't tell the difference or the image is just cleaner 15:22 <+bridge> [ddnet] I can do 50fps at 1080p ultra, so that's nice to see 15:22 <+bridge> [ddnet] It's machine learning stuff, they train their algorithm with insanely high supersampled renders 15:23 <+bridge> [ddnet] I mean it can be great at guessing and give you the exactly correct answer most of the time, I don't see how you can do better than correct though 15:23 <+bridge> [ddnet] what is dlss? 15:23 <+bridge> [ddnet] @heinrich5991 upscaling with machine learning 15:23 <+bridge> [ddnet] A supersampled image always looks better than a native image, they the upscaling algorithm with super sampled images 15:23 <+bridge> [ddnet] That's why it *can* look better 15:24 <+bridge> [ddnet] A supersampled image always looks better than a native image, they train the upscaling algorithm with super sampled images 15:24 <+bridge> [ddnet] I think this is the video https://www.youtube.com/watch?v=YWIKzRhYZm4 15:25 <+bridge> [ddnet] (Super sampling is rendering at higher resultion and then downscaling) 15:26 <+bridge> [ddnet] But you can't tell any difference in one way or the other without pausing and zooming in and looking for it 15:28 <+bridge> [ddnet] This video doesn't seem to have much comparison to native 15:30 <+bridge> [ddnet] The 3 way comparison at 6:06 is exactly what I would expect 15:30 <+bridge> [ddnet] https://youtu.be/YWIKzRhYZm4?t=392 15:32 <+bridge> [ddnet] This also is no surprise, don't get me wrong, it's very good at upscaling, much better than most anything I've tried and it's even more impressive that they can get it to not flicker when moving 15:32 <+bridge> [ddnet] but it's never going to get better than native rendering 15:32 <+bridge> [ddnet] Yeah it has a lot of comparions between 1.9 and 2.0 too which I don't care about 15:32 <+bridge> [ddnet] (that is assuming you have the gpu/cpu power to render at those insane resolutions) 15:33 <+bridge> [ddnet] Native looks better for the text, but 1080 -> 4k might to be pushing it 15:35 <+bridge> [ddnet] Here he makes a point of the dlss looking better https://youtu.be/YWIKzRhYZm4?t=631 15:39 <+bridge> [ddnet] Hm, I guess it's AA destroying the detail of the hair there. I wonder if a machine learning aa solution could help more here 15:39 <+bridge> [ddnet] I think the text is a especially bad example, overall I'll play everything with dlss, I really believe it's the future. AMD is working on the same thing 15:40 <+bridge> [ddnet] Do AA solutions factor in motion vectors? I think that's the trick though I don't understand it ^^ 15:40 <+bridge> [ddnet] I really hope it doesn't become a thing, it's bad for improvement 15:41 <+bridge> [ddnet] We are already pretty decent with ML now, they will milk this cow for atleast a decade, during which we will get no new hardware improvements 15:42 <+bridge> [ddnet] Especially since we are oh so close to good performance at 1440p/4k beyond which increasing resolution really doesn't matter (unless you are working with one of those new very-high-dpi displays for VR) 15:43 <+bridge> [ddnet] @timakro on Linux I use intel_gpu_top, but Intel-specific of course 15:43 <+bridge> [ddnet] Just a generation or two more and we'll have good native rendering at 4k, then they can mess around with whatever gimmick they want 15:43 <+bridge> [ddnet] @deen Will check that out, I have a integrated intel gpu as well 15:44 <+bridge> [ddnet] WEach nvidia generation gets more expensive and look a the increasing power consumption, the trend of the hardware improvements stagnating will continue 15:44 <+bridge> [ddnet] Each nvidia generation gets more expensive and look a the increasing power consumption, the trend of the hardware improvements stagnating will continue 15:45 <+bridge> [ddnet] 100% GPU usage at 3 W is ok 15:45 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/786604479201804308/screenshot-20201210154507.png 15:45 <+bridge> [ddnet] ah, 50% there, 100% is 6 W actually 15:46 <+bridge> [ddnet] @deen 100% for your gpu means drawing 3 triangles? xD 15:46 <+bridge> [ddnet] If native 4k was beyond reach, I would agree, but it's like at our fingertips now. Even if the improvements drop exponentially we'd get there 15:46 <+bridge> [ddnet] If we get sucked up in this software competition, we'll have thousands of driver updates for 3 decades and same hardware rehashed 15:46 <+bridge> [ddnet] 144hz wet my appetite for more :D 15:47 <+bridge> [ddnet] You mean 4k at 60fps? 15:47 <+bridge> [ddnet] Yep 4k at 60fps, that's all I want before they give up on hardware altogether 15:48 <+bridge> [ddnet] Aren't we already there with RTX 3080 / 3090? 15:48 <+bridge> [ddnet] Baaarely, most reasonable games are there, some heavier titles need that little bit more oomph 15:50 <+bridge> [ddnet] (I mean at their best qualities ofc, you can run 4k@60fps teeworlds with like gpus from 4 generations ago πŸ˜› ) 15:52 <+bridge> [ddnet] I don't believe there is a stopping point really when "it's enough". Currently I think 1440p 60+fps with raytracing is ideal but there will come the next hot feature 15:52 <+bridge> [ddnet] My rtx 2060 would be trash without dlss :D 15:53 <+bridge> [ddnet] Well I don't see anyone ever wanting anything beyond 4k@144fps with raytracing 15:53 <+bridge> [ddnet] A few years ago you wouldn't have said raytracing because it wasn't a thing 15:54 <+bridge> [ddnet] Well raytracing has always been a thing 15:54 <+bridge> [ddnet] Consumer cards with accelerated ray tracing is what's new 15:55 <+bridge> [ddnet] What gpu would you want to buy for cyberpunk if you could get it for the "normal" price? 15:55 <+bridge> [ddnet] (iirc I even listened to a talk from carmack from like 10 years ago where he was saying ray-traced graphics would be the holy-grail) 15:56 <+bridge> [ddnet] @timakro Well I like futureproofing, I'd probably get a 3080 15:57 <+bridge> [ddnet] I also considered getting an AMD one, but they don't seem to be there yet 15:57 <+bridge> [ddnet] Yeah, it seems like the logical choice for my 1440p 1440hz screen but I'm really unsure because I find 700 is a lot 15:57 <+bridge> [ddnet] Infinity Cache sounded like an excellent idea, some novelty 15:57 <+bridge> [ddnet] If you want raytracing forget amd yep 15:58 <+bridge> [ddnet] I'm sure they will get there soon, it's their first attempt at hardware accelerated ray tracing 15:58 <+bridge> [ddnet] I shouldn't have bought a rtx 20 card ^^ 15:59 <+bridge> [ddnet] 700 is indeed a lot, though I think about it this way. I don't eat lunch for a week or two and use all my savings and it'll get me there πŸ˜› 15:59 <+bridge> [ddnet] Oh I'd have to skip a lot of lunchs for that haha 16:00 <+bridge> [ddnet] It'd take me 3 months of not eating at all to get there I think. I'd already saved up quite a bit to get a new cpu 16:00 <+bridge> [ddnet] Sounds kinda sick how you said that 16:01 <+bridge> [ddnet] After AMD made like 10 cpus in total and sold all of them off, I was like "maybe I should get a PS5" 16:01 <+bridge> [ddnet] But Sony sold all those off 16:01 <+bridge> [ddnet] with rtx on at 4k on ultra 16:01 <+bridge> [ddnet] btw the game runs smooth on a 3080 with rtx ultra 16:01 <+bridge> [ddnet] and a ryzen 5 3600 16:01 <+bridge> [ddnet] I have money I've saved to spend, that I would like to use, but everything I want to buy is sold out 16:02 <+bridge> [ddnet] best is to wait till there is stock 16:02 <+bridge> [ddnet] not worth buying a non 3000 nvidia rn tbh 16:02 <+bridge> [ddnet] @Ryozuki if one can even find a 3080, yes it'd probably run smooth πŸ˜„ 16:02 <+bridge> [ddnet] sadly amd new gpu is not on par 16:03 <+bridge> [ddnet] I definitely will play cyberpunk at launch to talk about it with my friends, so I already made peace with the fact that I will play on my rtx 2060 16:03 <+bridge> [ddnet] I'm getting used to playing at 35 fps 16:03 <+bridge> [ddnet] my sister got 1 thanks to me, i saw 1 day a unit in stock, after buying it there were none more 16:03 <+bridge> [ddnet] kek 16:03 <+bridge> [ddnet] It feels like I'm back in 2005 16:03 <+bridge> [ddnet] :POGGIES: 16:03 <+bridge> [ddnet] i dont get why they dont have stock tbh 16:03 <+bridge> [ddnet] Probably lock to 30 fps then, right? 16:04 <+bridge> [ddnet] it feels unrealistic in this consumer world 16:04 <+bridge> [ddnet] Yeah locked to 30 fps and never looking at mirrors I can play faaairly smooth 16:04 <+bridge> [ddnet] @Ryozuki it's odd that there is huge demand but no supply, right? πŸ˜„ 16:04 <+bridge> [ddnet] i play on a rx580 on medium, it still looks pretty dope 16:04 <+bridge> [ddnet] indeed 16:04 <+bridge> [ddnet] same for ps5 16:04 <+bridge> [ddnet] Who has a variable refresh rate screen? πŸ™‹β€β™‚οΈ 16:04 <+bridge> [ddnet] We are just not used to this, capitalism says there is profit to be made, why are they not making it? 16:05 <+bridge> [ddnet] sony gets money from the ps5 games, they probs lose money sellings ps5, scalpers wont buy games 16:05 <+bridge> [ddnet] so i cant understand sony 16:05 <+bridge> [ddnet] idk what they are doing 16:05 <+bridge> [ddnet] and i doubt covid makes them not able to produce as much 16:05 <+bridge> [ddnet] it makes 0 sense 16:05 <+bridge> [ddnet] @timakro I wanted one for a long time, but they are quite expensive 16:05 <+bridge> [ddnet] what is it 16:05 <+bridge> [ddnet] i have a 144hz display 16:05 <+bridge> [ddnet] i cant live with that 16:06 <+bridge> [ddnet] @Ryozuki one thing that comes to mind is that maybe since in-store sales are bound to be low, they put all stock online where bots can grab them? 16:06 <+bridge> [ddnet] I got the AOC Q27G2U/BK Monitor for 340 € in july 16:06 <+bridge> [ddnet] u know u could make a lottery system on who can buy them 16:06 <+bridge> [ddnet] not sell them by who got first 16:07 <+bridge> [ddnet] this way normal ppl may be able to get em 16:07 <+bridge> [ddnet] xd 16:07 <+bridge> [ddnet] or just use a better captcha 16:07 <+bridge> [ddnet] or whathever they use 16:07 <+bridge> [ddnet] idk 16:07 <+bridge> [ddnet] unless they hire 100 ppl to buy them 16:07 <+bridge> [ddnet] lmao 16:07 <+bridge> [ddnet] idk the extend of this mafia 16:08 <+bridge> [ddnet] @timakro wow that's a steal 16:08 <+bridge> [ddnet] @Ryozuki Variable refresh rate is kinda what it says, the screen can adapt to the refresh rate the gpu can produce 16:08 <+bridge> [ddnet] I got 2 Dell U2715H monitors for 400e each, 4 years back 16:09 <+bridge> [ddnet] But explaining variable refresh rate doesn't do it justice, you just need to see it, 55 fps is smooth and looks like 60 16:10 <+bridge> [ddnet] I love the monitors but at this price they are a bit lacking in the "gaming" department, no variable refresh rate, not high refresh rate 16:10 <+bridge> [ddnet] Great color accuracy though, I can't even use my old monitor as the 3rd monitor because the colors just look off on it next to these πŸ˜› 16:10 <+bridge> [ddnet] i dont know what advantage it has, 144hz display should display fine anything lower right 16:11 <+bridge> [ddnet] or is it multiplicative 16:11 <+bridge> [ddnet] idk 16:11 <+bridge> [ddnet] @Ryozuki variable refresh rate almost completely eliminates any stuttering created by fluctuations in fps 16:11 <+bridge> [ddnet] but with 144hz u rarely see them too 16:11 <+bridge> [ddnet] i dont recall seeing any xd 16:11 <+bridge> [ddnet] I remember playing on my old 1080 60hz monitor which is now my second monitor and I couldn't quite hit 60 fps and it looked worse than the last of us part II on my ps4 with perfect 30 fps frame pacing 16:11 <+bridge> [ddnet] @Ryozuki as long as your system can consistently deliver 144 distinct frames to the screen everything is fine 16:12 <+bridge> [ddnet] but if you ever dip below 144 fps, a normal display just has to duplicate a frame 16:13 <+bridge> [ddnet] I don't even know how it works for 144hz monitors without variable refresh rate. On 60 fps displays you can lock to 60 or 30 and it will look good 16:13 <+bridge> [ddnet] Can you lock to 60 on 144hz displays? 16:13 <+bridge> [ddnet] if u have vsync on and under fps it shows tearing? 16:13 <+bridge> [ddnet] @timakro lot of games have options for that 16:13 <+bridge> [ddnet] With vsync there is no tearing, just duplicate frames 16:13 <+bridge> [ddnet] The point of vsync is to stop tearing 16:14 <+bridge> [ddnet] i dont play lot of fixed fps games 16:14 <+bridge> [ddnet] most games allow unlimited fps 16:14 <+bridge> [ddnet] terraria is locked at 60 16:14 <+bridge> [ddnet] i dont see tearing 16:14 <+bridge> [ddnet] I get insane tearing on ddnet btw, I don't understand how anyone can play without vsync 16:14 <+bridge> [ddnet] i dont get any 16:14 <+bridge> [ddnet] But I guess when the refresh rate is high enough you can just turn off vsync and you won't see the tearing 16:14 <+bridge> [ddnet] and its rly smooth 16:14 <+bridge> [ddnet] but i run at 1000 fps (capped)( 16:16 <+bridge> [ddnet] Who did advent of code today? 16:16 <+bridge> [ddnet] My code for the 2nd problem works with both test data sets but with the real data it seems to run forever 16:17 <+bridge> [ddnet] i played 10 hours cyberpunk 16:17 <+bridge> [ddnet] 16:17 <+bridge> [ddnet] today i met keanu reeves 16:17 <+bridge> [ddnet] :POGGIES: 16:17 <+bridge> [ddnet] Look at this 16:17 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/786612550040420362/20201210_161535_1.mp4 16:17 <+bridge> [ddnet] It's like rolling shutter almost πŸ˜› 16:18 <+bridge> [ddnet] If you didn't tell me I'd have thought it's something with the camera xD 16:18 <+bridge> [ddnet] it looks better on the camera btw πŸ˜› 16:19 <+bridge> [ddnet] :D 16:19 <+bridge> [ddnet] If my code runs forever and there are no while loops shouldn't I get a stack overflow at some point? 16:19 <+bridge> [ddnet] (i use recursion) 16:19 <+bridge> [ddnet] i once got a stackoverflow on rust 16:19 <+bridge> [ddnet] I don't see how you can eliminate tearing without vsync though, it's in the name, if it's not synced how can it be synced? :thinkW: 16:19 <+bridge> [ddnet] so its possible 16:20 <+bridge> [ddnet] u must not be going to deep 16:20 <+bridge> [ddnet] idk 16:20 <+bridge> [ddnet] @timakro tail recursion is optimized very well 16:20 <+bridge> [ddnet] ah that 16:20 <+bridge> [ddnet] @Learath2 I think at high enough refresh rates the tearing might be less obvious? Idk just a guess 16:20 <+bridge> [ddnet] yeah i think its that 16:20 <+bridge> [ddnet] the human eye cant see a thing appearing and disappearing in 0.00001s 16:20 <+bridge> [ddnet] i guess 16:21 <+bridge> [ddnet] but on 30 fps 16:21 <+bridge> [ddnet] My biology teacher used to say the human eye can do 24 hz haha 16:21 <+bridge> [ddnet] xd 16:21 <+bridge> [ddnet] Idk where that number comes from 16:21 <+bridge> [ddnet] 0.00694 vs 0.016 so it is an order of magnitude better than 60hz, maybe that is indeed it 16:22 <+bridge> [ddnet] The human visual system can process 10 to 12 images per second and perceive them individually, while higher rates are perceived as motion. 16:22 <+bridge> [ddnet] u can feel smoother motion 16:22 <+bridge> [ddnet] probs that 16:22 <+bridge> [ddnet] > The temporal sensitivity and resolution of human vision varies depending on the type and characteristics of visual stimulus, and it differs between individuals. The human visual system can process 10 to 12 images per second and perceive them individually, while higher rates are perceived as motion.[1] Modulated light (such as a computer display) is perceived as stable by the majority of participants in studies when the rate is higher than 16:22 <+bridge> [ddnet] whole quote 16:23 <+bridge> [ddnet] @Learath2 shouldn't double buffering help for that? Maybe it's something we can enable in opengl/sdl? 16:23 <+bridge> [ddnet] I think it's just that at around 20fps motion starts to become fluid for most everyone? 16:24 <+bridge> [ddnet] > when the modulated light is non-uniform and contains an image, the flicker fusion threshold can be much higher, in the hundreds of hertz 16:24 <+bridge> [ddnet] i think this is the key 16:24 <+bridge> [ddnet] @deen probably, @Jupstar βœͺ do you happen to know a knob I can twist? πŸ˜› 16:24 <+bridge> [ddnet] btw 24 fps can feel completely fluid when you have no outside reference and it's very consistent 16:24 <+bridge> [ddnet] I think I remember some settings for this in GPU settings a few years ago 16:26 <+bridge> [ddnet] Do you ever remember feeling like older games from the NES era or even PS2 era were choppy? Or felt that a movie at the theatre was choppy? 16:26 <+bridge> [ddnet] Movies at theatre are different because they make it look blurry 16:26 <+bridge> [ddnet] Our brains are really much much better at filling in the gaps than we give them credit for 16:26 <+bridge> [ddnet] and same for old CRTs 16:26 <+bridge> [ddnet] but on LCDs or OLEDs with faster pixel refresh and no blurriness you start noticing each frame 16:27 <+bridge> [ddnet] @deen well yes a little bit of blur goes a long way to making the illusion work 16:27 <+bridge> [ddnet] @Learath2 i specially remember things looking really good, but when i look them now they look rly bad 16:27 <+bridge> [ddnet] An hour of playing cyberpunk at 30 fps and I forgot I was playing at 30fps 16:28 <+bridge> [ddnet] Ofc when I switch to low and get 60fps immediately after, I can tell that it's smoother 16:28 <+bridge> [ddnet] but without reference, I could probably be fooled 16:29 <+bridge> [ddnet] ``` 16:29 <+bridge> [ddnet] fn arrangements(ns: &Vec, n: u32, i_next: usize) -> u32 { 16:29 <+bridge> [ddnet] if i_next >= ns.len() { 16:29 <+bridge> [ddnet] return 1; 16:29 <+bridge> [ddnet] } 16:29 <+bridge> [ddnet] 16:29 <+bridge> [ddnet] let mut arr = 0; 16:29 <+bridge> [ddnet] for i in i_next..i_next+3 { 16:29 <+bridge> [ddnet] if i < ns.len() && ns[i] - n <= 3 { 16:29 <+bridge> [ddnet] assert!(i+1 > i_next); 16:29 <+bridge> [ddnet] arr += arrangements(ns, ns[i], i+1); 16:29 <+bridge> [ddnet] } 16:29 <+bridge> [ddnet] } 16:29 <+bridge> [ddnet] arr 16:29 <+bridge> [ddnet] } 16:29 <+bridge> [ddnet] ``` 16:29 <+bridge> [ddnet] Why does this run forever? 16:29 <+bridge> [ddnet] I played gta san andreas a while ago, a game stuck with the 24fps especially since physics and game logic are tied to the framerate, didn't feel less fluid πŸ˜› 16:30 <+bridge> [ddnet] i dontt hink its stuck 16:30 <+bridge> [ddnet] The assert assures that i_next is getting bigger and at big enough i_next it breaks 16:30 <+bridge> [ddnet] @timakro your best bet would be to check the assembly generated? 16:30 <+bridge> [ddnet] gta san andreas with mta on a server with 2000 ppl were fun times 16:30 <+bridge> [ddnet] @Learath2 are you serious? xD 16:31 <+bridge> [ddnet] @timakro oh I thought you were asking why it wasn't overflowing the stack 16:31 <+bridge> [ddnet] maybe i_next doesn't grow? 16:31 <+bridge> [ddnet] You have a >= there 16:32 <+bridge> [ddnet] look at the assert 16:32 <+bridge> [ddnet] it has to grow, right? 16:33 <+bridge> [ddnet] I think it's the edge case tripping you up, not sure completely though 16:33 <+bridge> [ddnet] I'm a bit too sleepy to think 16:33 <+bridge> [ddnet] Someone help me xD 16:34 <+bridge> [ddnet] hmhmhm 16:34 <+bridge> [ddnet] do a debug print to check what happens to i_next and ns.len() 16:35 <+bridge> [ddnet] yeah 16:35 <+bridge> [ddnet] put prints everywhere 16:35 <+bridge> [ddnet] ns.len() stays constant at 102 like you'd expect and i_next seems to hop randomly around the high values never exceeding 102 16:35 <+bridge> [ddnet] randomly? huh 16:35 <+bridge> [ddnet] idk man 16:35 <+bridge> [ddnet] ``` 16:35 <+bridge> [ddnet] 99 102 16:35 <+bridge> [ddnet] 100 102 16:35 <+bridge> [ddnet] 101 102 16:35 <+bridge> [ddnet] 102 102 16:35 <+bridge> [ddnet] 99 102 16:35 <+bridge> [ddnet] 100 102 16:35 <+bridge> [ddnet] 101 102 16:35 <+bridge> [ddnet] 102 102 16:36 <+bridge> [ddnet] 98 102 16:36 <+bridge> [ddnet] 99 102 16:36 <+bridge> [ddnet] 100 102 16:36 <+bridge> [ddnet] 101 102 16:36 <+bridge> [ddnet] 102 102 16:36 <+bridge> [ddnet] 99 102 16:36 <+bridge> [ddnet] 100 102 16:36 <+bridge> [ddnet] 101 102 16:36 <+bridge> [ddnet] 102 102 16:36 <+bridge> [ddnet] 97 102 16:36 <+bridge> [ddnet] 98 102 16:36 <+bridge> [ddnet] 99 102 16:36 <+bridge> [ddnet] 100 102 16:36 <+bridge> [ddnet] 101 102 16:36 <+bridge> [ddnet] 102 102 16:36 <+bridge> [ddnet] 99 102 16:36 <+bridge> [ddnet] 100 102 16:36 <+bridge> [ddnet] 101 102 16:36 <+bridge> [ddnet] 102 102 16:36 <+bridge> [ddnet] 98 102 16:36 <+bridge> [ddnet] 99 102 16:36 <+bridge> [ddnet] 100 102 16:36 <+bridge> [ddnet] That looks almost cyclic 16:36 <+bridge> [ddnet] 102 102 should return 1 16:36 <+bridge> [ddnet] Please don't paste large amounts of data, upload them to a gist or something (irc bridge) 16:36 <+bridge> [ddnet] ye rip irc 16:36 <+bridge> [ddnet] Ok 16:37 <+bridge> [ddnet] @deen maybe we could make it so the bot doesnt send rly long messages to irc 16:37 <+bridge> [ddnet] that would solve the issue 16:37 <+bridge> [ddnet] It doesn't. The bot stopped at some point in the long message 16:37 <+bridge> [ddnet] i mean dont send it at all 16:37 <+bridge> [ddnet] count the number of newlines i guess 16:37 <+bridge> [ddnet] @timakro I'm not very familiar with rust, where is your return for the non terminal case? 16:37 <+bridge> [ddnet] Great bridge if we don't send some messages πŸ˜„ 16:37 <+bridge> [ddnet] @Learath2 arr 16:37 <+bridge> [ddnet] u see the arr at bottom 16:37 <+bridge> [ddnet] doesnt have a ; 16:37 <+bridge> [ddnet] it means its returned 16:38 <+bridge> [ddnet] Final expression in a function gets returned 16:38 <+bridge> [ddnet] if it doesnt have a `;` 16:38 <+bridge> [ddnet] * 16:38 <+bridge> [ddnet] @timakro final expression on any possible path 16:38 <+bridge> [ddnet] at the end 16:38 <+bridge> [ddnet] * 16:38 <+bridge> [ddnet] if u have a if else on end u dont need to write return 16:38 <+bridge> [ddnet] :pepe_straight: 16:39 <+bridge> [ddnet] Then the if else construct is the final expression :P 16:39 <+bridge> [ddnet] ah yea 16:39 <+bridge> [ddnet] u got me 16:43 <+bridge> [ddnet] @timakro you sure it's infinite? maybe it just takes veeeery long? πŸ˜› 16:43 <+bridge> [ddnet] yeah, possibl 16:43 <+bridge> [ddnet] oh yes probably 16:43 <+bridge> [ddnet] you'd expect it to be at high numbers most of the time because it terminates there 16:43 <+bridge> [ddnet] and then goes down to choose another path 16:43 <+bridge> [ddnet] what is your initial call btw? 16:43 <+bridge> [ddnet] o0,0 16:43 <+bridge> [ddnet] 0,0 16:44 <+bridge> [ddnet] Maybe my logic is right but just inefficient then 16:44 <+bridge> [ddnet] Because it passes both test cases 16:44 <+bridge> [ddnet] And advent of code says all puzzles run in 20 seconds on old hardware 16:45 <+bridge> [ddnet] i got a 2 min solution to 0.07 seconds 1 day 16:45 <+bridge> [ddnet] @heinrich5991 you there? 16:46 <+bridge> [ddnet] ah @Dragere you did todays puzzle as well, right? 16:46 <+bridge> [ddnet] @timakro are you using the smallest example? 16:46 <+bridge> [ddnet] Yes 16:46 <+bridge> [ddnet] Both examples work and give the right answer 16:46 <+bridge> [ddnet] But with the real data it runs forever 16:46 <+bridge> [ddnet] (not forever probably) 16:47 <+bridge> [ddnet] Hmm, i think i tried a similar approach like yours, but it ran forever even on the second example 16:47 <+bridge> [ddnet] There is a way faster method 16:47 <+bridge> [ddnet] Am I missing something, idk how to make it more efficient 16:48 <+bridge> [ddnet] Its quite a different approach i think, but i cant really read rust 16:48 <+bridge> [ddnet] @timakro btw u are using cargo run right 16:48 <+bridge> [ddnet] cargo run runs in debug mode 16:48 <+bridge> [ddnet] try cargo run --release 16:48 <+bridge> [ddnet] i could try release build, right 16:48 <+bridge> [ddnet] it can speed up 20x 16:48 <+bridge> [ddnet] or more 16:51 <+bridge> [ddnet] sounds so much like a dynamic programming solution is in order 16:51 <+bridge> [ddnet] what does that mean 16:51 <+bridge> [ddnet] I'm not recalculating anything 16:51 <+bridge> [ddnet] I don't think 16:52 <+bridge> [ddnet] ahh 16:52 <+bridge> [ddnet] You are not, but I have a feeling it can be framed that way 16:52 <+bridge> [ddnet] Oh wait 16:52 <+bridge> [ddnet] I think it can hit a path it already solved 16:52 <+bridge> [ddnet] :POGGIES: 16:52 <+bridge> [ddnet] Yeah just buffer solutions 16:52 <+bridge> [ddnet] in a hash map πŸ₯³ 16:53 <+bridge> [ddnet] hashmap best 16:53 <+bridge> [ddnet] When i tried that in python i ran out of memory :pepeH: 16:54 <+bridge> [ddnet] Awwww 16:54 <+bridge> [ddnet] I will still try 16:54 <+bridge> [ddnet] 16:54 <+bridge> [ddnet] So you are telling me there is a super clever solution to this? But don't spoil me 16:54 <+bridge> [ddnet] Oh it also obviously has optimal substructure 16:54 <+bridge> [ddnet] part 2 is definitely dynamic programming πŸ˜› 16:55 <+bridge> [ddnet] More clever than just trying everything at least 16:55 <+bridge> [ddnet] But took me forever to find 16:58 <+bridge> [ddnet] got it! 16:59 <+bridge> [ddnet] caching worked 16:59 <+bridge> [ddnet] There is a better solution than recursion with memoization btw 16:59 <+bridge> [ddnet] and thanks to release built i got another fuck up because it overflowed without me noticing xD 16:59 <+bridge> [ddnet] Tell me @Learath2 17:01 <+bridge> [ddnet] Well let me try it first, don't want to say something wrong πŸ˜› 17:01 <+bridge> [ddnet] I also want to see your solution @Dragere :D 17:01 <+bridge> [ddnet] Can I profile memory usage in rust? 17:01 <+bridge> [ddnet] I want to see my memory footprint 17:02 <+bridge> [ddnet] Or on linux in general 17:02 <+bridge> [ddnet] Like max memory usage during runtime 17:02 <+bridge> [ddnet] Wait it can't be bigger than 102 64 bit numbers 17:02 <+bridge> [ddnet] That's nothing 17:03 <+bridge> [ddnet] I think you had another bug in your code when you got that out of memory thing @Dragere 17:03 <+bridge> [ddnet] I'll send it when im on my PC 17:03 <+bridge> [ddnet] Nice 17:04 <+bridge> [ddnet] But now I also know how to write it without recursion 17:04 <+bridge> [ddnet] Might do that later 17:09 <+bridge> [ddnet] @timakro Yep works: ||notice that the problem has optimal substructure, so the number of routes to get to any joltage is the number of ways to get to the sum of the 3 previous joltages|| 17:10 <+bridge> [ddnet] i think u can use perf 17:10 <+bridge> [ddnet] isn't there a tracking allocator for rust? 17:10 <+bridge> [ddnet] valgrind --tool=massif binary 17:10 <+bridge> [ddnet] u can use valgrind 17:10 <+bridge> [ddnet] too 17:11 <+bridge> [ddnet] i found a reddit thread about this but i dont remember it 17:11 <+bridge> [ddnet] Though I guess a tracking allocator would only help you with the heap 17:11 <+bridge> [ddnet] https://github.com/jemalloc/jemalloc/wiki/Use-Case%3A-Heap-Profiling 17:11 <+bridge> [ddnet] yes u can create a global allocator 17:11 <+bridge> [ddnet] or whathever it is 17:12 <+bridge> [ddnet] jemalloc is rust default allocator used on most platforms 17:13 <+bridge> [ddnet] https://www.reddit.com/r/rust/comments/8z83wc/is_there_any_way_to_benchmark_memory_usage_in_rust/ 17:13 <+bridge> [ddnet] according to this 19:42 <+bridge> [ddnet] there are 4 servers in the ddnet tab which can't be reached 19:42 <+bridge> [ddnet] - 111.177.18.6:7361 19:42 <+bridge> [ddnet] - 39.105.39.69:7361 19:42 <+bridge> [ddnet] - 191.96.70.202:8311;8301;8302;8298 19:42 <+bridge> [ddnet] - 47.102.203.158:7361 20:25 <+bridge> [ddnet] thanks for checking, fixed 20:38 <+bridge> [ddnet] @Learath2 since cyberpunk is on gog it means its drm free, so it should be easy to pirate (in fact, u can download it pirate already), and yet its the game that has sold most preorders in history (8 million) 20:38 <+bridge> [ddnet] says how pointless denuvo and stuff is 20:48 <+bridge> [ddnet] @Ryozuki You don't know how many would've bought it if it couldn't be downloaded easily. 20:49 <+bridge> [ddnet] PHP today, I'm running out of languages I know well soon πŸ˜„ https://github.com/def-/adventofcode-2020/blob/master/day10.php 20:57 <+bridge> [ddnet] :think_bot: 20:59 <+bridge> [ddnet] Well, you can't expect much better than the most sold preorder in history πŸ˜› 21:00 <+bridge> [ddnet] fist fight mechanics are so goofy 21:02 <+bridge> [ddnet] i generally shotgun people in the face and call it a day 21:02 <+bridge> [ddnet] :greenthing: 21:02 <+bridge> [ddnet] well can't do that in the fights πŸ˜› 21:06 <+bridge> [ddnet] @deen There are also some servers which are ddnet official but not in the ddnet tab 21:07 <+bridge> [ddnet] 191.96.70.202:8317 - Brazil1 Server 21:07 <+bridge> [ddnet] 37.152.185.191:8210 & :8220 - Persian Server 21:07 <+bridge> [ddnet] 176.9.114.238:8203 < GER2 Server dedicated Multimap Less Map (Can be taken down, people use normal multimap anyway...) 21:08 <+bridge> [ddnet] ah wait, there are more Brazil1 servers which aren't in the official ddnet tab 21:08 <+bridge> [ddnet] 8 servers 21:11 <+bridge> [ddnet] 191.96.70.202:8319; 8317; 8304; 8320; 8308; 8305; 8314; 8321 21:14 <+bridge> [ddnet] @heinrich5991 there is DDNet Brazil - Main Gores Server #1 & #2 which should be master banned? 21:14 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/1 21:14 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/2 22:36 <+bridge> [ddnet] @Ryozuki RedOx is an OS written in Rust https://www.redox-os.org/ 23:05 <+bridge> [ddnet] @murpi such a mess, thanks