Have we got another question from W Warrior? What do you think about libraries like Immutable.js which create new objects by design? I mean, Immutable is cool but, Immer is pretty much my go to now. You answered the second question which was, do you see any alternatives? Is there anything specific you like about it? It's pretty straightforward, right? Like, you know, you use the produce function and then, you know, mutatively edit whatever you want to do and it applies it. Nice, nice. So we've got another, sorry, say again? I was just saying it's simple and it's fast. What more can you want? Nice.
We've got another question from Pop Linguy. Could Firefox performance tools be a concurrent of Chrome developer tools or Chrome dev tools? I think comparing the two. I honestly couldn't speak to it. I haven't used Firefox in quite some time. But the last I checked, you know, they do have some interesting features. Same can be said for Safari. There's some interesting graphic debugging stuff in there too, but I spend 99.9% of my time in Chrome. Yeah, same as well.
I'm a big fan of Chrome. Someone asked about just a different memory leaks that you fixed. Have you ever seen any sort of common similarities or common trends across them? Well, I mean, like one thing that happens a lot is like listeners, right? Like if you add listeners and then don't remove them, that's one that happens a lot. Other times, you know, you can just have something that's building up over time, right? So say you cache some data, right, every time you load a page, right? But if it's a single-page app and there's hundreds of pages, you know, if you navigate through hundreds of pages and that cache isn't periodically cleared, right, depending on what's in there, right? It's not just like markup, but like, if you're loading like 500,000 row datasets for each thing and, you know, you're navigating between those, eventually that'll build up. Other times, it's kind of just like iteration and timers, right? If you have like real-time data and you're iterating through things, little caches and stores can build up.
Cool. We've got another question. It's another joke question, but, you know, I feel obligated to read it out, so I'm gonna go for it. This is, do you do a regular check of your memory profile or do you wait for problems to come knocking at your door? Not, I mean, it depends, right? Like if I'm making like a Ken Wheeler joke, like if I'm making like a kenwheeler.blog I'm not really checking the CPU on that, but if I'm making like a, like a high-performance canvas control or something like that, like, I'm definitely going to pre-emptively look at where the CPU is, like in early to mid-stage development just to make sure, you know, set baselines so that later on, as it gets more complex, right? You can say like, you know, what are we getting and what are we losing? That makes sense.
And the last question, someone, Alex, has said thank you for sharing how animations can be a performance hit. Animations can still be really important though, so the answer, so they're asking, should they just use animation sparingly or are there other techniques for having performance animations? You know, I think that there's, I don't think all animations are bad. I think the ones you need to watch out for are animations that are tied to user interactivity, right? So like if you're like moving through, if you're highlighting something or highlighting rows or something like that, that kind of thing, I wouldn't animate that because it's putting a buffer on the feedback to the action, right? But I mean, if you want to have like a Josh Camus, like whimsy style animation, that's, yeah, go ahead. That's awesome. You know, that's not necessarily directly tied to the that sort of thing, right? Yeah, no, I get you, I get you.
And right before we go, because I know we're running out of time, but you're off to do a DJ set. Is there anything you can tell us about what to look forward to for your music set? Not really, I'm just gonna play some shit that I like. I mean, you know, it's not like, my Porter Robinson up here and I'm just gonna, you know, drink wine and play some nice beats, everybody else should grab a beverage. Well, once I'm done, I'm gonna go and grab some wine and listen to some beats. Thank you so much for hanging out with us. I love the tour. And hopefully I get to see you again soon. I'm definitely going to check out the music you'll be playing. Thank you so much and I'll see you around. Thank you.
Comments