Tim Kadlec

timkadlec.com · Personal blog · on HN since 2011

Tim Kadlec, a web performance consultant, writes about JavaScript costs, AMP, web standards and the ethics of performance.

What HN saysHN commenters cite his data on how fast AMP is and the CPU cost of JavaScript frameworks when debating web performance.
65HN people shared it
16linked it in comments
54stories submitted
1.8Kstory points
4 years agolast shared
2011people per year2026

Most-shared posts

  1. 1
    The Cost of JavaScript Frameworks
    13 people · 183 points · first shared 2020 · 169 comments on HN
  2. 2
    How fast is AMP really?
    5 people · 197 points · first shared 2018 · 163 comments on HN
  3. 3
    Is Apple stifling progress in Web standards?
    3 people · 349 points · first shared 2015 · 144 comments on HN
  4. 4
    CPP: A Standardized Alternative to AMP
    3 people · 308 points · first shared 2016 · 93 comments on HN
  5. 5
    The Ethics of Web Performance
    3 people · 204 points · first shared 2019 · 163 comments on HN
  6. 6
    The Two Faces of AMP
    3 people · 152 points · first shared 2018 · 56 comments on HN
  7. 7
    Investing in RSS
    3 people · 5 points · first shared 2023 · 1 comments on HN
  8. 8
    Taking Let's Encrypt for a Spin
    2 people · 97 points · first shared 2015 · 49 comments on HN
  9. 9
    Media Query & Asset Downloading Tests
    2 people · 2 points · first shared 2012 · discussion on HN
  10. 10
    How fast is fast enough?
    2 people · 1 points · first shared 2014 · discussion on HN
  11. 11
    Media Query and Asset Downloading Results
    2 people · 1 points · first shared 2013 · discussion on HN
  12. 12
    WTFWG
    1 people · 205 points · first shared 2012 · 36 comments on HN
  13. 13
    Limiting JavaScript?
    1 people · 94 points · first shared 2019 · 96 comments on HN
  14. 14
    Death to Captchas
    1 people · 10 points · first shared 2011 · 16 comments on HN
  15. 15
    Alternatives to Captcha
    1 people · 7 points · first shared 2011 · discussion on HN

What HN people wrote when they linked it

asdfasgasdgasdg · 2020-12-17
The first article I found about this was https://timkadlec.com/remembers/2018-03-19-how-fast-is-amp-really/, which claims that AMP is actually faster in practice, probably mostly because it encourages good habits. Where are you seeing that it's not faster? This article is from '18 so perhaps there has been a change in how well AMP performs versus the baseline. Also worth noting that we should probably judge AMP as a whole product. What if it didn't make things faster at all, but did make them predictable and amenable to prerendering? The product is AMP+Cache+Prerendering. Prerendering unquestionably gives huge speed advantages in many scenarios. If you don't have AMP, you don't have prerendering, which means AMP-as-a-product gives significant speed advantages, since it's on the critical path to prerendering. (All of this is of course predicated on the idea that you can't practically prerender normal HTML pages, which perhaps you can, I don't know. I'm just saying if that justification for AMP is correct, it shouldn't necessarily matter that HTML+AMP markup is not faster than HTML markup.)
Someone · 2013-06-27
Interesting that they aim to have a single resolution-independent logo ("This tied into another goal of having the image hold up with greater clarity at smaller sizes" and "with high resolution displays in mind"), while traditionally, advice was to tweak icons to their display size and resolution. For example, https://developer.apple.com/library/mac/ipad/#documentation/userexperi… says "redraw art as you scale down" and "do not use the standard-resolution 32x32 icon as the 16x16@2 icon". Similarly, http://msdn.microsoft.com/en-us/library/windows/desktop/aa511280.aspx says "Simply scaling down from the 256x256 size does not work" and "As an icon gets smaller, transparency and some special details found in larger sizes should be sacrificed in order to simplify and get the point across." This isn't purely by technological choice ("we want a svg logo"), as one can somewhat build a svg where the level of detail varies depending on display size (http://timkadlec.com/2013/04/media-queries-within-svg/). So it's either a deliberate "it's better that way" choice, or a "better one really good logo than a couple of less good ones", or they weren't aware of media queries, or they don't think them supported well enough.
dieulot · 2022-06-27
This article compares the CPU times of every site using Angular/React/Vue/jQuery known by the HTTP Archive and comes to a very different conclusion: https://timkadlec.com/remembers/2020-04-21-the-cost-of-javascript-fram…
ehsankia · 2021-06-05
Just searched `opera browser "jpg" "yuv"`, no date filtering. Second result is: https://timkadlec.com/remembers/2018-03-22-compressive-images-revisite… Seems to be it?
Illniyar · 2018-08-08
Actually the main performance gains is by google search preloading everything (basically putting it in an iFrame before you click on it). Which practically means that pages load instantly. https://timkadlec.com/remembers/2018-03-19-how-fast-is-amp-really/
sureaboutthis · 2018-02-21
>The web community has stated over and over again that we’re not comfortable with Google incentivizing the use of AMP with search engine carrots. In response, Google has provided yet another search engine carrot for AMP. This wouldn’t bother me if AMP was open about what it is: a tool for folks to optimize their search engine placement. But of course, that’s not the claim. The claim is that AMP is “for the open web.” https://timkadlec.com/remembers/2018-02-14-the-two-faces-of-amp/ More: https://www.quirksmode.org/blog/archives/2018/02/linkbait_37.html
minijackson · 2017-01-17
CPP (Content Performance Policy) is an open, standardized alternative to AMP, that may need help to finish it: Draft: http://wicg.github.io/ContentPerformancePolicy/ Github: https://github.com/wicg/ContentPerformancePolicy/ Launch article: https://timkadlec.com/2016/02/a-standardized-alternative-to-amp/ HN: https://news.ycombinator.com/item?id=12787462
niftich · 2016-10-21
Finally! 'Pointer events' originated at Microsoft, after the W3C effort to standardize Apple's 'Touch events' became uncertain due to patent issues. For a while, despite admitting it's a more elegant spec for unified input, Google were reluctant to add it because Apple wasn't interested [1][2]. Now Google have changed their mind once more and shipped this, making Apple the only major outlier. The pains of shimming these similar-but-different APIs will continue for a bit, but hopefully Apple will make this concession in the end. [1] https://timkadlec.com/2015/02/apples-web/ [2] https://mobiforge.com/news-comment/who-wants-pointer-events-api-everyo…
Yaggo · 2016-03-16
It's actually worse on mobile, because mobile connections typically are not order of magnitude slower than non-mobile, but mobile cpu power can be order of magnitude more limited (esp. on lower end hardware). https://timkadlec.com/2014/09/js-parse-and-execution-time/
stavrus · 2015-05-19
Why would you consider these analytics scripts useless? The article mentioned several reasons they want to be tracking this timing information (monitoring of slow backends/CDNs and the performance of their own scripts) - having that information is vital for ensuring the usability of the site [1]. If a portion of your userbase all of a sudden starts loading the webpage much slower than usual (e.g. from issues as diverse as bad network routing or just a specific browser choking on your scripts), having the information available to you to quickly diagnose and fix the problem is a lifesaver. After all, the website is their product, so they need to ensure it's always available and usable for all their customers. [1] http://timkadlec.com/2014/01/fast-enough/
jordanlev · 2014-12-10
Fascinating... I never heard about this side-effect of disabling zoom! I did some googling and from what I can tell, this only applies to some Android browsers, not iOS? If that's the case, it seems like throwing out the baby with the bathwater, since it does have the accessibility issue and removing the delay can be better-achieved on ALL devices with some of the JS libraries that others have linked to. Here's a blog post I found that talks about the limitations of this "avoid touch delay by disabling zoom" technique: http://timkadlec.com/2013/11/Avoiding-the-300ms-click-delay-accessibly…
voyou · 2013-09-11
I don't think that's right; at least, a quick test on the browser I'm using right now (Chrome 29) suggests otherwise, as do this guy's tests from last year: http://timkadlec.com/2012/04/media-query-asset-downloading-results/
CharlieDigital · 2023-02-05
I think author's point is that React is the absolute worst of the evils and it's proprietors shout its false virtues so loudly that it drowns out all discourse and rational thought. It performs the worst (by a large margin) of the major JS frameworks https://krausest.github.io/js-framework-benchmark/2023/table_chrome_10… And is highly inefficient in both compute and space: https://timkadlec.com/remembers/2020-04-21-the-cost-of-javascript-fram… Comparatively, Vue for example, can be used progressively. It is one of the core reasons the Wikimedia Foundation and GitLab chose it: https://phabricator.wikimedia.org/T241180 . Solid and Preact both perform close to Vanilla and bundle far smaller, improving the end user experience. One of Vue's…
lhorie · 2020-05-11
There was another article here recently that is relevant[1] One takeaway was that given a large sample of sites, the baseline size correlates fairly well with how the bundle size scales as projects grow. So if you have a 65kb baseline, you're more likely to end up with a larger bundle size in a "real world" project than if you used a framework with a 5kb baseline. The reasons are not clear (they could be anywhere from direct causation to indirect causes like incidental complexity due to some communities' higher likelihood of using libraries without auditing them), but the results are what they are, nonetheless. Also, 65kb gzipped means you're running the uncompressed amount of JS. As a rule of thumb, the more JS you're running, the slower the site is going to be. This matters a lot for mobile, where JS execution speed can be absolutely abysmal (on top of slow network speeds, higher chance of resource timeouts, etc). [1] https://timkadlec.com/remembers/2020-04-21-the-cost-of-javascript-fram…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close