Video yükleniyor...

Video Yüklenemedi

Ana Sayfaya Dön

Introducing the "Insights sidebar" in Chrome DevTools Performance panel ⚡️ Brings Lighthouse-like analysis directly into the timeline! Visualize LCP, INP, CLS bottlenecks & more in context to debug faster.

31,850 görüntüleme • 1 yıl önce •via X (Twitter)

0 Yorum

Yorum bulunmuyor

Orijinal gönderinin yorumları burada görünecek

Benzer Videolar

CoinMarketCap AI Is Live: What Does It Really Change ? 🌱 In the fast paced world of crypto, information is power but its often scattered, delayed, or hard to trust. CoinMarketCap newly launched CMC AI aims to fix that by offering real time insights with no friction. ✨ Real Time Q&A on Coin Pages 🌱CMC AI is now integrated into major coin detail pages, generating automatic Q&As every 30 minutes. During periods of volatility, it updates dynamically, helping users understand price movements with short and structured explanations. No login required, no delays. 🌱However, while this speeds up the process, its not a substitute for deeper analysis. It answers the “what” and “why,” but not always the “what’s next.” ✨What’s Coming Next? 🌱CMC AI is just getting started. According to its roadmap, several new features are on the way • Homepage Integration: A quick view of market trends and opportunities, without clicking into individual coins. • Live Chart Analysis: AI will add context to price moves by linking them to news, sentiment, and social media. • Token Comparison Tool: Users will be able to compare tokens like BTC vs SOL across utility, performance, and tech specs. • Portfolio Insights: One click portfolio analysis with rebalancing suggestions and market outlooks. • Cross Device Continuity: Start an AI conversation on desktop and continue it seamlessly on mobile. ✨A Tool Not a Strategy 🌱 CMC AI brings speed and clarity, two things crypto investors often lack. But it’s still just a tool. It won’t make decisions for you. It helps guide your thinking not replace it. 🌱 The smartest way to use it? Treat it as a compass, not a map. It can point you in the right direction, but the journey is still yours. 🌱 CMC AI represents a step forward in how users interact with crypto data. It filters the noise, shortens research time, and brings useful context closer to the user. But like any shortcut, it works best when you already understand the long route.

Loji

37,459 görüntüleme • 1 yıl önce

Huge upgrade to loading speeds coming soon, especially with DLL-heavy codebases like UE! The primary reason PDB -> RDI conversion (or PDB parsing in debuggers more generally) is a big bottleneck in startup time is because they must be converted/parsed/loaded _serially_. This may seem surprising, since intuitively it'd seem like they can be converted/parsed/loaded/etc. in parallel. This is not true in the general case due to breakpoints, and how they relate to an API like `LoadLibrary`, and how it translates into debug events. When a debuggee runs `LoadLibrary`, the debugger will receive a debug event informing the debugger that the associated module was loaded. Any time a debug event is sent to the debugger, the debuggee stops running entirely. This is so that the debugger can make decisions about how the debuggee should proceed. For example, if I have a breakpoint on `foo.c:123`, that file name and line number can only be correctly interpreted (meaning resolved into code addresses) using debug information. The debugger only knows about that debug information from the PDB - without it, that file/line combo is meaningless. But importantly, the debugger cannot *resume* the debuggee until it has resolved that breakpoint - otherwise the debuggee may execute code which *would've* hit the breakpoint, *if* it were resolved in time. So, the debugger needs to ensure that all breakpoints are fully resolved before resuming. This is a correctness detail that everyone has to pay for, basically because `LoadLibrary`s are received one-at-a-time. Obviously, if it were instead an API like `LoadLibraries`, then the debugger could prepare all of the debug info in one batch before resuming - but it doesn't know what that batch would be, given just an initial `LoadLibrary`. This is unfortunate, because *generally* you are not debugging the code loading a bunch of DLLs, but the debugger can't really know that. (It is probably a good idea to provide a `raddbg_load_libraries` API at some point, so that we can resolve this issue on the debuggee side). In any case, RADDBG now resolves breakpoints much more quickly by avoiding 99% of debug info conversion work to do a common case of breakpoint resolution - you might call this "breakpoint disqualification". Basically, if a breakpoint is set, and we can quickly determine that that breakpoint's information (file location, expression, condition, etc.) *cannot apply* to some module's debug info - more quickly than doing a *full* PDB -> RDI conversion (which entails a full parse & a bunch of work) - then we can simplify the very common case in DLL-heavy cases: you put a breakpoint on `foo.c:123`, when 99% of the DLLs do not have any line info for that file, so the debugger can resume *knowing* that breakpoint will not resolve within that file. In this demo video, you can see I place a breakpoint that only resolves within the executable's debug info - it does not resolve within any of the 100 DLLs that are loaded serially. Within the `Modules` tab, you can see that as I run the target, most of the debug info is not loaded initially, even though the debuggee is running. That debug info is loading in parallel, as the debugger knows it does not need to wait for that debug info to be prepared for this breakpoint.

Ryan Fleury

17,527 görüntüleme • 1 yıl önce