![]() ![]() Watch what kind of memory inefficient and slow code structures, especially with javascript where you don't really understand how heavy an operation like map() can be in worse cases, or where you are creating copies of your data multiple times for example, and voila, you have a slow-ass memory-hogging electron application. Just take somebody who has done webdev for maybe like 2 - 3 years and doesn't have any other deeper CS background. You can write slow-ass molasses javascript code very easily. My suspection is that many web-developers (and thus, qualified to developer for Electron) just don't have the tenacity or background to write efficient code. Result is an application that feels almost as fast as native and doesn't really consume so much memory even, although we are doing canvas based graphics realtime. We have taken careful care in order to write fast and memory friendly javascript if possible, avoiding using slow features of the language (the list is long, but things like forEach loops, ineffecient data structures etc) and taking care to profile and optimize. While writing Electron version of our graphics heavy web application, I noticed that the memory usage or CPU consumption is not a lot higher than some other native applications. This idea that Electron apps are inherently somehow slow is starting to bug me out. >This request contains no information specific to third-party developers or apps. In contrast, there’s no CRL for third-party Developer ID leaf certs signed by Apple’s intermediate cert. This request contains no information specific to third-party developers or apps. If you examine the cert in the System Roots keychain, you can see that URL under CRL Distribution Points. >The request to is simply checking the revocation status of Apple’s own Developer ID Certification Authority intermediate signing certificate. I'll just quote Jeff Johnson, who's looked into this and written about it - his comment on this is post is quite useful: It's slightly more nuanced than that - you can of course just block it from doing so, and there's certainly an argument for it being updated to not need a network call each time, but phrasing it like this makes it sound worse than it actually is. It's provided a hell of a way for me to explain what the deal was with all the old gurus in the 80s "AI Winter" diaspora who were pretty butthurt about having to move from programming in that environment, to having to write C on DOS (or whatever else paid the bills at the time). As an aside - I recently saw a video of someone demoing one of the old Symbolics LISP workstations, and I was shocked to realize how much they had in common with a modern browser console - specifically of being able to inspect all of your gui components, live, and look at all the properties set on them. I guess the main takeaway is just that the development revolution that's happened recently is mainly about how insanely good browser dev tools have become, and not about javascript - javascript was just along for the ride. I also think there's a thing, right now, where it's possible to build electron apps with Rust+WebASM I'm not sure, but I think the main thrust here is it definitely would eliminate a huge chunk of the slowdown. Most javascript developers are already using babel-et-al pipelines to build electron apps, which are already transpiling between major variants of javascript, and I wouldn't at all surprised to see a thing where it gets compiled into WebAssembly rather than interpreting javascript. One of the big deals with electron-et-al is that we're not married to JavaScript, really we're married to "the DOM and css" as our gui, and things like FF/Chrome/Safari devtools to develop that gui.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |