Hacker News new | past | comments | ask | show | jobs | submit login
Is Turbopack really 10x faster than Vite? (github.com/yyx990803)
364 points by jjzhiyuan on Nov 1, 2022 | hide | past | favorite | 165 comments



Glad to see that Evan You has stepped up with a response. When these 10x improvements were presented without a release of the benchmark code I was very sceptical. Vercel, do better! You champion yourself as a leader in the OSS React ecosystem, so please act accordingly. This has eroded my trust and excitement for your products.


Vercel give me nothing but very suspect vibes. I don’t know what it is exactly but reminds me a lot of the cryptocurrency crowd.


Is this way of showing, very similar to an Apple keynote in tone, form, timing, presentation, etc, that is really commercial, and we are a little used to (that's the vibe it's giving). Selling their products doing this 'keynotes' talking about new exciting stuff and 'performance' increase based on my ass metrics, just to build hype and fomo, for a JS framework, it just feels odd.


My main experience with their software is turborepo, which is IMO great. Don’t know much about their marketing or community, but turborepo is an excellent tool, much prefer it to nx and lerna (it’s main competitors).


Vercel is like Youtube influencers


It's still baffling to me that a profession called influencer can exist.

How do people take anything from them serious when their job description is literally taking money in order to influence people...

I guess that's just our society. We love to be told what we should feel/do/care about on a societal level, so people gobble it up even if the content is obviously just paid marketing


What's even more horrifying is that this is considered a legitimate career; in fact, it's what a lot of kids today want to be, in lieu of pursuing something socially useful.

Let's be clear here: being an influencer literally means you're voluntarily accepting money for lying to people, at scale. You enrich yourself by harming others. You're actively proving you're corrupted and cannot be trusted.

How people making this choice are not shunned by society is beyond me.


I dislike influencers as well but this comment is painfully incorrect. Beeing an influencer does not mean you have to lie. You are however strongly influenced to lie. But that doesn't mean every influencer lies. There are plenty of very big influencer that can easily pick and choose which product they peddle to the masses. They are free to pick only the products where they agree with the marketing message.


I think it's probably hard to distinguish what you truly "agree with" if your income relies on agreeing with it. You can avoid shilling for things you truly know are just out and out scams (although it will make your career harder, sure, before you are successful enough to call the shots yourself), but you have a lot of interest in convincing yourself you like the things that pay you. Reminds me of the well-known Upton Sinclair quote “It's difficult to get a man to understand something when his salary depends on not understanding it."

But if there are some influencers that make it very clear on all social media that it's a "paid placement", that they are getting paid to shill for the thing -- then I would definitely have a lot more respect for those folks. I'm not sure this is possible though? it would definitely make your "job" a lot harder, and that is telling.

But I don't necessarily want to demonize influencers; I more feel sorry for them, most of whom are hustling without making a ton of money. But the whole thing seems very sordid to me.


> I think it's probably hard to distinguish what you truly "agree with" if your income relies on agreeing with it.

The simple solution is to only agree to represent products you actually like. For influencers who are popular enough that they can pick and choose, this isn't all that hard.

The thorny issue is the smaller influencers (who are the majority, for sure) who have to take whatever is offered to pay their bills.


> For influencers who are popular enough that they can pick and choose, this isn't all that hard.

Sure, but there's no way for me as a viewer to tell whether a given influencer is making honest choices, or just peddling whatever shit pays them the most. In fact, the whole value of influencers to the marketers is that they confuse people on this very issue, that they convince people they're being honest even though they're not.

> The thorny issue is the smaller influencers (who are the majority, for sure) who have to take whatever is offered to pay their bills.

Right. And since the popular influencers started as such smaller ones and most likely had to compromise their ethics right at the start, why should I believe they suddenly found their moral compass again once they became popular?


Sure but that's not lying. Lying is not equal to saying something that is not true. Lies are deliberate.


I don't know about the metaphysics of what constitutes "lying", but if you're going to define it like that clearly there is unethical marketing behavior that is not exactly "lying".

I think it's crazy that it has become routine to shill for things without clearly disclosing that you are getting paid to do so, in ways that violate FTC regulations which pre-social-media would have been actually enforced.

The FTC says:

> If you endorse a product through social media, your endorsement message should make it obvious when you have a relationship (“material connection”) with the brand. A “material connection” to the brand includes a personal, family, or employment relationship or a financial relationship – such as the brand paying you or giving you free or discounted products or services.

https://www.ftc.gov/business-guidance/resources/disclosures-...

We all know that is in fact simply not done. (Sure, the clever among us know that anyone that seems to be an "influencer" is getting paid for endorsements; but it is not generally actually disclosed, we just have to assume, and if you see an individual video who's to say if it's an ordinary consumer sharing a review as a one-off, unless you are cynical or knowledgeable enough to know that doesn't really even exist anymore, everyone is on the take).

The FTC again:

> If a brand gives you free or discounted products or other perks and then you mention one of its products, make a disclosure even if you weren’t asked to mention that product.

Yeah, right. It is to laugh.


I'm not sure what you want from me at this point. I simply disagreed with the clearly wong statement of the person I was replying to that all influencers are liars. Nothing more nothing less. I didn't, nor want to, discuss the morality that a lot of influencers peddle crap without disclosure.


Replace "lying" with "misleading" then, I'd call shilling without disclosure "misleading" without a doubt.

I am just discussing the ethics of "influencers" generally rather than trying to win a debate necessarily, but I think the picture the original commenter paints is largely accurate, and you are maybe quibbling over semantics of "lying" vs "misleading" that don't seem to be fundamental to the question to me.

But yeah, we have not much more to say on it I think.


> Lying is not equal to saying something that is not true. Lies are deliberate.

Yes. Being deliberate is what makes influencers liars, and not just misguided performers.


I think this demonstrates how _insidious_ influencer marketing is. We feel like we're privvy to the behind the scenes decision making about this influencer or that one. But we aren't. We don't really know if they are really choosing the products they wish to promote, or if there are other considerations that influenced that decision.

The aim of influencer marketing is to leverage parasocial relationships to sell stuff, and it works because people think of influencers more like 'a somewhat distant friend' than a talking head or a traditional paid promoter.


Sales and marketing are not new.


Sales and marketing people aren't the face of the ad though.

I'm more comfortable with "Coca-cola pays me money to make ads on behalf of Coca-cola" compared to "literally any company pays me to pretend I'm just a regular person who discovered this cool new product and it's so life-changing that I have to tell my loyal followers"


So then, celebrity endorsements? Those aren't new either.


Those aren't new; what's new is opening up of a whole dimension, on which celebrities are clustered on one edge. "Traditional" celebrities are widely-known, but low on "parasocial value"[0]. Influencers are less well-known, but higher on parasocial value. There's been talk of nanoinfluencing, which are very low on being well-known, very high on parasocial; I guess this just got implemented by TikTok.

And it's worth highlighting what parasocial marketing means: it means exploiting natural desire of people to form bonds, in order to peddle wares. It's another kind of abusing people for profit.

And yes, technically marketing on the other edge of known/parasocial spectrum isn't new either - it's occupied by people joining MLMs, who are duped into burning friendships and family ties in order to make money in a totally-not-pyramid scheme. The new thing is all the points between celebrities and MLM zombies being occupied by different kinds of influencers.

----

[0] - https://en.wikipedia.org/wiki/Parasocial_interaction


> And it's worth highlighting what parasocial marketing means: it means exploiting natural desire of people to form bonds, in order to peddle wares. It's another kind of abusing people for profit.

I get why that sounds bad, but is it always bad? Is there something inherently bad about the movie podcasts I’ve listened to for 10 years having brief Squarespace sponsor breaks?

Does the badness go away when I subscribe on Patreon and get ad-free episodes? I mean either way they are “exploiting my natural desire to form bonds and using that for financial benefit.” And yet, it doesn’t feel that bad to me. It feels like I’m just paying for original creative content, even though it’s true that a big part of why I like the content is the parasocial relationship I have with the hosts.


There's a degree of self-awareness to it. You know what's going on in your relationship with the podcaster, so you're much less affected (or perhaps not at all). But imagine a more naive version of yourself - one that doesn't understand how parasocial relationship works, and instead implicitly trusts the podcaster because they deluded themselves into thinking they're their friend.

It's like, remember when everyone and their dog started peddling shady VPNs on YouTube? Or how they're all peddling NFTs now? You and me understand what those products are, and we can just roll our eyes and continue to consume content. But others in the audience? Suffice to say, I now regularly have to dissuade my family members and people in their circles from buying into bullshit that's eagerly promoted by their favorite YouTube stars.


Yes, and I've held that opinion for a long time, and expressed it wrt. marketing in general here many times. But there are degrees to how blatantly one gets paid for defrauding your fellow people, and influencers are near the top of it.


If we’re going to start shunning people for that level of harmful impact I think this board might be affected at a higher rate than the average population. Isn’t a large chunk of the users here employees from firms making all their money off of ads?

I don’t see how advertisements aren’t lying and manipulation at scale in a meaningfuly different capacity


Sure, I'm not denying it. I still[0] maintain that advertising is a cancer on modern society, and I've successfully steered my career away from anything related to adtech. HN itself is a diverse crowd, there's a large crowd with strong anti-marketing sentiment here, including people currently working in adtech.

Also, there are degrees to everything. I'm picking on influencing here because it's extremely direct and blatant form of manipulation. If that isn't rejected by society at large, then there's no hope for it dealing with more traditional forms of manipulation.

----

[0] - http://jacek.zlydach.pl/blog/2019-07-31-ads-as-cancer.html


I'm exploring the idea here because I haven't given it much thought before, so don't take the following as an aggressive defense.

Couldn't influencers be considered a more positive form of advertising in that they are open about what they are? I've always had more trouble with insidious types of advertisements or ones where the relationship between someone reviewing an item and the vendor isn't disclosed. When I know someone is an influence/tech evangelist/promoter/some other term, I at least can have my mental guard up, which is not something I can keep up 24/7


> so don't take the following as an aggressive defense.

I won't, but I appreciate the clarification nonetheless. I'm also trying to be non-confrontational, and while my opinion on ads is rather firm, it's still subject to change as I understand the world and the human condition more.

> Couldn't influencers be considered a more positive form of advertising in that they are open about what they are? (...) When I know someone is an influence/tech evangelist/promoter/some other term, I at least can have my mental guard up (...)

So, we have to distinguish between the two kinds of influencers here. Brand ambassadors, tech evangelists and the like are at least somewhat open about this (though elsewhere in the thread I've seen examples of ones that are purposefully unclear). It still feels icky to me, but I understand the game. Though again, many don't - I've seen plenty of people buy into what tech evangelists say uncritically, in part because their enthusiasm is an effective manipulation tactic, acting on an emotional level to get around peoples' defenses.

And then there are the other kind of influencers - the ones I believe are the majority on social media. The ones running random streams and channels, some sneaking in paid product placement covertly, some doing sponsorship section overtly - in both cases, the reason they're being paid is because of (for a lack of better term) trust transfer. You like the podcasts some influencer makes, so you mistakenly assume their recent interest in cosmetics is genuine. You like the high-quality science videos a YouTuber creates, so you assume they know what they're talking about when they pitch you a VPN service in the sponsorship section - even though, in truth, they have no first clue about it, and are setting you up for a bad deal. Either way, they don't care - you're not their peer, you're not their friend. You're the resource they're exploiting.

What irks me the most is when I see people intentionally seeking out career as this latter kind of influencer. They're already convinced that a degree of dishonesty is totally legitimate way of making money. I call it dishonesty, because I doubt they'd pitch the same cosmetics or NFTs to their mother or their close friends, in the same way they do to their audience on their channel.


So basically they want to go into marketing?


> their job description is literally taking money in order to influence people

I mean, that's literally just a descirption of marketing, right? Or Public Relations. Taking money to influence people? It's a whole industry.

What an influencer brings to it is that they use one person's own personal likeness as a 'brand'... and try not to disclose the extent to which they are getting paid for marketing and/or PR. Which yeah, takes an already suspicious industry and makes it both more so and more... pathetic, if that's the right word. Most attempted "influencers" are struggling/hustling without making a ton of money, but even those who are successful seem just in a sad place to me.


An influencer, IMO, is no different from a talk show host, radio personality, or anyone who's livelihood depends on sponsored content. We've had models in advertising forever and famous people endorse products.

What's happening here is someone is getting famous outside of the traditional avenues of entertainment (radio, tv, sports, movies) through social media and getting the same sponsorship deals. They've just been given a bad name to lump them all together. I'm not a fan of the label "influencer" but I think it's nonsense to see them as a sign of societal decay. Societal change maybe, but its not dire IMO.


As you say, it is a job category that has existed for a long time. (In addition to examples already given, other specific titles off the top of my head spanning centuries: cigarette girls, playboy bunnies, bar girls, steak ladies, brand ambassadors, spokespersons, sign spinners, spokesmodels, …) As long as marketing has existed these jobs have also existed, they've just always before been typically given extremely specific names, often (especially in old fashioned ones) so specific even to specific genders.

I think it actually is useful to have a generic term for this as well across that multi-century spectrum of too specifically named and niched sub-jobs. It makes a useful lens to even better describe our own history. ("What's a cigarette girl? Well in the height of Big Tobacco the Tobacco companies would pay ladies, generally pretty ones, to be influencers selling cigarettes at other businesses such as a bars. Many of these influencers were not employees of the bars, they were more directly contractors for the Tobacco companies.")

I even think that the generic sense of revulsion many have to the specific word "influencer" is actually a useful part of that, too. These jobs were never pretty. Many were designed to be in the background marketing things to people like bad magic tricks designed to misdirect slight bits of money. Influencers are not necessarily a bad thing, and those are sometimes useful jobs in their own little ways, but having the generic term itself be a little revulsive is maybe a great reminder that they aren't always our (parasocial) friends, either, and are still trying to sell us stuff at the end of the day.

(A lot of people assumed cigarette girls worked for the bars or restaurants they found them in, when really that was a direct marketing arm of the cigarette companies. Alcohol companies to this day also hire a lot of "brand ambassadors" the now gender neutral, PC term that they prefer over "influencer", though "bar girls" was also a name for that not even that many decades back, and these influencers do the exact same thing: there are people in bars selling you alcohol, with the permission of the bar owners, of course, but employed by the marketing arms of the alcohol companies. Because they aren't bar employees they are legally "allowed" to often "get more personal" and sometimes don't even pretend to be "on the clock" working. Even more fun, some of these "brand ambassadors" for alchohol are only barely paid in like product because these "brand ambassadors" are doing it "on their own" "for fun" like a rewards program and multi-level marketing had a baby that decided selling alcohol to already drunk people was a perfect business model, which is also a fun way to skirt labor laws if you can get it and maybe not obvious with a title like "brand ambassador" but a bit easier to suspect if you call it "influencer".)


It's just the evolution of a marketeer.


It just tells you how broken the understanding of value in current society really is.

When someone posting videos of themselves testing lipstick or 10 dollar dresses makes more money than dozens highly trained real engineers that build physical goods necessary for the betterment of society and the world as a whole, it does in fact explain, to some extent, why we have a child book author running the entirety of hard work of generations of people that built the German industry into the ground.


What you're doing is kind of like claiming society values Powerball winners over engineers because Powerball winners make more money.

> When someone posting videos of themselves testing lipstick or 10 dollar dresses makes more money than dozens highly trained real engineers that build physical goods necessary for the betterment of society and the world as a whole

Some people who do that almost every single day for years eventually work up to that. For every one person who reaches that mark as an influencer there are 1000 more who do that work and make... zilch. It's like winning the lottery with a little bit of agency sprinkled in.

Equity is a thing, but I don't know many engineers working for zero dollars on the hope that one day maybe they'll get lucky and become one of the minority of engineers who make any money...

-

Also:

> why we have a child book author running the entirety of hard work of generations of people that built the German industry into the ground.

huh?


Very very few "influencers" make more money than engineers.

("Engineers"... when software engineers largely working on advertising and smoothing commerce to sell people garbage they don't need make more money than most "real engineers that build physical goods necessary for the betterment of society"... yeah, it's not just about the influencers, we can look in the mirror, the majority (although not all) of software engineers making mid-six-figures are probably working on selling people crap one way or another, not making anything necessary for the "betterment of society")

But yeah, the vast majority of "influencers" are hustling and struggling and dreaming of being the very succesful 1% while in fact barely making enough to get by. Which seems to me important to talk about when we start talking about "influencers" as as a class or career. There are a tiny portion of "influencers" who get mega-wealthy, we hear about them because they are click bait for media coverage of course (very meta).

In general, becoming a software engineer through a boot camp would be a lot more reliable way to make $100-$200K than being an "influencer" -- you don't even need to be a very good coder to break $100K, which most influencers (let alone aspiring influencers) don't break.

https://www.theguardian.com/fashion/2022/feb/24/hustle-and-h...

https://nealschaffer.com/how-much-do-instagram-influencers-m...


The labor theory of value is not real, only the subjective theory of value is. People pay for what they like. Who are you to judge why people shouldn't value others testing lipstick over some engineers?


The labor theory of value is "not real" in the sense that it doesn't correctly describe how the market works at scale. At the same time, it is real in the sense that it's a close approximation of what we consider intrinsically fair.

Now, you can claim the judgement of the market should replace people's sense of fairness. In that case, there's no problem. Or, you can see the market being misaligned with our sense of fairness as a bug, and ask how it can be fixed.


Fair. However I like your closing sentence before you edited just now:

> Or, instead, you can ask how can the market be coerced to be more fair.

I explicitly don't see the market being misaligned with our sense of fairness as a bug, because I am not one to judge what people like, as I mentioned. For the one making lipstick videos, I will not tell them that their work is less valuable than engineers', because, as I mentioned, it is not for me to decide. If their viewers like it, then that's good for them.


> Fair. However I like your closing sentence before you edited just now:

>> Or, instead, you can ask how can the market be coerced to be more fair.

I edited it to make it closer to what I meant. "Coercing the market" feels too much like giving people green light to force their opinions on others, which is already a big problem in modern society, and I'm not advocating more of it.

What I'm after here is what I believe is a human universal, even if fuzzy in details: the hierarchy of value based on how much one's contributing to others' well-being. It's the one that would place farmers, doctors, garbage collectors and sanitation engineers near the top, and influencers near the bottom.

The way the market allocates rewards doesn't reflect the social or personal importance in any way - it reflects the ability of a person to capture rewards. Farmers, rescue workers, cleaners, etc. get little, because their work has been optimized to extreme degree. They are worse off because of scaling. Successful[0] entertainers and influencers get a lot, because they benefit from scaling - near-zero marginal cost of any additional member of the audience means that, even thought they provide small amount of value to each person and receive small reward, it adds up to a lot of money.

This mechanism, few people serving a tiny value multiplied by large audience, is just one of the "money printers". There are others, like controlling the way money flows (advertisers), or skimming off the high volume of money flow (finance), etc. Point being, all those mechanisms feel like they're exploiting the structure of the market, instead of being a useful service to others.

----

[0] - Almost forgot about this, but it's probably the critical thing: these jobs are in a winner-takes-all market.


Influencers/marketers don't create anything. If they all got vaporized by aliens, people would just watch/play something else and buy slightly different products, and the world would go without much of a hitch.

If all the makers disappeared overnight, shit would get crazy in a hurry. Faster even for things like plumbers/electricians/etc, who get paid less than engineers ironically.

Tell me again about the value that influencers create.


I poke around my govt sites .. they are using nextjs mostly now (previously php). New gen developers now got tricked and stuck in this era of poor quality career skills. My firmware friends even write javascript these days .. i'm like .. okay.


apple corp.js


They make good tech, but their marketing department manages to over-sell it anyway, which makes it hard for me to take anything they say at face value. It's a bummer they can't just let the technology stand on its own merits. They should know that engineers won't respond well to hand-wavy or exaggerated marketing.


Same here. Vercel have always felt super commercial. Now even more. Hard to trust someone who puts so much money and effort to marketing and hyperbole.


I feel conflicted, because the deep dive[0] into turbopack after all these misleading claims still has me excited for the future. The suggestion that JS bundling is very similar to native linking[1] on a previous thread has convinced me that the incremental execution strategy turbopack has chosen is the way forward.

[0] https://www.youtube.com/watch?v=btqdaqEHw0A [1] https://news.ycombinator.com/item?id=33334091


When watching the Next.js Keynote it really felt as if I were watching an Apple keynote..


I recently tried to deploy a next JS app to aws lambda and gave up after a few days.

JS Framework that doesn’t support serverless (aside from the sponsoring company‘s walled garden) - won’t fly with me in charge for infra.


You may like Sveltekit, it has adapters to be deployed lots of places! With the ability to write new adapters easily.

https://kit.svelte.dev/docs/adapters

https://github.com/yarbsemaj/sveltekit-adapter-lambda


Give Remix a spin. I've deployed it to Lambda, Cloudflare Workers, & a long running express server. It's great


Remix deploys to lambda wow


I've deployed with this before on AWS without too many issues https://github.com/serverless-nextjs/serverless-next.js


I use it with google cloud run and its smooth as hell


Next definitely supports serverless. If you deploy a Next app to Vercel it will get deployed to AWS Lambda.


Same here.

I'm very happy with https://github.com/brillout/vite-plugin-ssr


This is some good stuff. Such a simple solution to a complex problem.


"There were number rounding issues in the original numbers for the 1k component case - Turbopack's 15ms was rounded down to 0.01s while Vite's 87ms was rounded up to 0.09s. This further got marketed as a 10x advantage when the original numbers were close to 6x."


What an actual marketing BS is this?


Sigfig manipulation is one of the oldest tricks in the "lying with numbers" book. It's usually a very stupid idea because most laymen can see the swindle once pointed out, let alone engineers (Vercel's target market).

No clue who signed off on this marketing but they just outed themselves as untrustworthy to a whole segment now. What a stupid move...


So it’s still faster, just not as fast as they make it seem.


Afaik it's unfinished too. So it's really irrelevant if it's faster.


That's not the point though. Read the sibling comments.


What is the point?


To me the whole point of this discussion is shedding light on the misleading marketing they did, which seems disrespectful to developers reading the original announcement.


No.


depends on how many components. it's 10x somewhere on the graph, just not where they said it was.


It happens again and again, never believe benchmarks by original author/owner. They are misleading in most cases.

Deno vs bun was same case, each showed their runtime as faster


Nah, read a bit of the Deno vs Bun thing and it's pretty clear. Bun said that Bun was way faster (on 1 thread), and it is. But Deno were butt-hurt for these claims and said they were way faster (in 2-4 threads, vs Bun's 1 thread), and they are. But that's a ridiculous comparison for multiple reason:

- Bun does recognize they don't have multi-processor yet, so yeah cannot compare that (remember it's still alpha software!). So they compared what they had so far with a similar setup in Deno, pretty fair for that stage IMHO!

- In real-life you'd have either 1 thread for smaller apps, or setup a proxy with multiple instances if the program was single-threaded, so the comparison Deno made was in no way realistic.


You are claiming that if your product A does not have feature X that could make it faster, it is okay to claim that your product A is faster than product B by hampering B under the impediment of not using X?

"My database A is is faster than B! (When B is not using indexes, because my database A does not have indexes, so it would be unfair to let B uses indexes..." is the equivalent here.


Oh cmon no I'm not at all. I'm saying:

"I'm building a new product. It's half-way there, but so far I've finished single-threaded processing! Look, at single-thread it's faster than anything else by a large margin".

That's it. Indexes in a DB are like the main thing to do, while many/most servers that are run online are still single-threaded, so not a good comparison.


> or setup a proxy with multiple instances if the program was single-threaded

Not having to do that is quite an advantage for Deno though regardless of the perf claims.


I think you're underestimating the effort needed for parallelization here. Deno is written in a language that was built for "fearless concurrency" (Rust), whereas Bun is written in a language that barely has a concurrency story (Zig)


My concern with NextJS is that they aim to do work that's good for Vercel and not for developers. That's why we see such a push for faster build times while severally restricting flexibility of the framework, so they can save money on VMs running user's builds.


This seems sorta weird to me. Do you as a developer not enjoy having faster builds? I sure do.


The problem is that particular type of slippery slope mindset.

What if some next big change doesn't align with the best interest of the community?

You can see some future parallel to Microsoft and the `dotnet watch` debacle[0] where the dotnet team introduced a feature to allow hot reload then some executive neutered it except for Visual Studio because "it wasn't stable yet".

No one will know the true reasons why it was pulled (and then re-released after community outcry), but it left a sour taste in the community. And in the case of Microsoft, I think they have even smaller incentives to pull this kind of stuff (VS is a very tiny, tiny portion of their revenue compared to Azure and Office) whereas Vercel is much more tightly bound to Next.js so it seems inevitable that there will be a point in time when Vercel's interests comes to loggerheads with the community's best interest.

It may seem far-fetched right now, but all you need to do is look at the HTML source for Target.com and Walmart.com and see how a corporation has created tremendous leverage under the guise of OSS. The obvious outcome is to use that leverage at some point in the future to extract capital. The fact that they built something novel instead of embracing an already really good community solution (Vite) smacks of creating leverage in the same way that Apple has been empowered by their walled garden platform ownership.

I trust Evan You far, far more than I do Vercel to make decisions in the interest of the community.

[0] https://dotnetcoretutorials.com/2021/10/23/the-hot-reload-de...


depends, if like say one build is 3 seconds and the other build is 1 second, I prefer the 1 second, but if it turns out that the 3 second build is more easily debuggable and understandable then I would gladly sacrifice 2 seconds.

If one build is .75 of a second and the other build is 1.5 seconds I probably wouldn't consider the .75 of a second a significant improvement because I would probably not gain anything from the slight improvement.

I'm sure you can construct lots of other examples whereby one my prefer a less faster build over a faster build or just feel that it was not actually important either way.


Can you give examples of times NextJS was changed to solely benefit Vercel?

NextJS is an open-source framework under the MIT license, so if Vercel ever did anything to compromise NextJS, it could just be forked, but to my knowledge and experience with NextJS, they've provided and continue to provide an awesome framework/ecosystem around React.


Try deploying NextJS yourself over multiple instances, you are soon going to learn that cache NextJS provides isn't shared across them via something like Redis (I think it's mostly shared on Vercel, but I don't know how they do it).

Aside performance, this has consequences because of their stale-while-revalidate technique for static pages in incremental regeneration. If cache becomes obsolete on 1 instance and it's revalidate on the next request, it's not revalidated on other instances, so users accessing them are going to see stale data until that instance itself does revalidation. Having even a percentage of pages showing stale data can be painful for certain scenarios.

NextJS users been asking for more flexiable caching for some time.

I think it's a pretty good example.

As for forking it, how many companies have enough resources and are willing to go that distance?


Caching is a universally difficult problem to solve, but point taken. The majority of my NextJS sites have been deployed to Vercel, but a few have also been hosted on AWS and DigitalOcean. When it comes to incremental regeneration, I didn't use it if the page needed to be 100% up to date for every user, even when on Vercel.

As for the forking it comment, that's exactly the point. Vercel is investing heavily into NextJS, spending millions of dollars on hiring full time developers to work solely on it, and they give NextJS away for free. So having the best Next experience on the platform that they own and control and can fine tune makes sense to me. Nobody is forcing you to use NextJS or any other library.


I wonder if we reached the point these new changes aren't actually practical any more.

Like most of the nextjs 13 changes seem like a lot of extra work for not much benefit.


Next being owned by Vercel has a perverse incentice to push for features that are good for Vercel, like fast build times and very specific caching strategies, not for the features that developers actually want.


I want those. Why would devs not want fast build times and incremental compilation through caching?


Same. I worked with a Vue 2 project that had cold start time of almost 2 minutes (and ~25s hot start after enabling hardSource plugin in Webpack), and each hot-module reload would take 10+ seconds. It was a real pain to work with. Having build times that are on the order of magnitude faster can really improve the developer experience and the way you work with code.


At this point, vite is pretty damned good and doesn't warrant a replacement.

From the article, the 10x improvement was more 6x and required 30k modules... Turbopack's 15ms was rounded down to 0.01s while Vite's 87ms was rounded up to 0.09s. isn't Android build level slow.


There's always room for performance. I want to use the full capacity of the hardware I bought, why would I intentionally use a slower tool, however slight the difference (all else being equal)?

Aside, this kind of "good enough" attitude is what brought us the JS bundle behemoths, and abstractions on top of abstractions. Even if the difference is small, it adds up if everyone thinks that the performance of their one little library is just "good enough."


I just can't believe they went with the generically named "app" folder...

"pages" is such an obvious name indicating webpages go here. The new "app" directory is super ambiguous, might as well have named it the "code" folder...


FWIW Rails historically places everything under a root "app" folder.


They are trying to match the features of Remix.


The negative perception of Vercel in these comments is surprising to me. I'm not very familiar with them but was about to take my first dive, as I had been on Netlify but Vercel seems to offer much more functionality.

Honest question - can anyone ELI5 why I should avoid them? The only concrete things I have seen are "they're exaggerating the 10x figure", and "they collect metrics and it's hard to turn it off". Both aren't great, but seems an overreach at first glance to avoid them for those reasons.


You don't need to avoid them (at least their OSS projects). They mostly make good stuff. They just have an overzealous marketing department that clouds the waters, so wait for a second opinion on any claims they make.


I think I'm of the same mentality. IMO a lot of the comments here are histrionics that they misrepresented (and outright lied in some cases) the gap in efficiency of their tool. But it's still somewhat better than the existing tooling. All of this also has very little to do with Vercel as a product which is still pretty good and can run almost anything without needing to use their framework NextJS. I don't use Vercel myself and am perfectly content with Netlify which does what I need and more but I don't think any of this dissuades me from using Vercel

Vercel simply has a lot of VC funding and is using marketing to sell their tooling and their platform. It's not unique to them, nor is it particularly egregious especially when Evan You himself clearly admits Turbopack is, in fact, slightly more performant than Vite. They lied about some benchmarks. Very dumb of them. I will move on and will not really avoid Vercel unless I have much more immediate concerns like their pricing or other ethics concerns that have more drastic effects


I guess what irks people is when a big dog tries to gain "market share" with half truths, which may perhaps unjustly and negatively affect highly regarded open source efforts. I get that it sounds good though, better than "6% faster at the 30k module threshold".


> they're exaggerating the 10x figure

From the submission:

"There were number rounding issues in the original numbers for the 1k component case - Turbopack's 15ms was rounded down to 0.01s while Vite's 87ms was rounded up to 0.09s. This further got marketed as a 10x advantage when the original numbers were close to 6x."

That is more than exaggeration, it's either incompetence or deceitful. They also did not even release a benchmark at first, and if you read Evan's writeup it could be argued the benchmark is not a fair comparison.

They made a lot of noise about Next.js 13 when a lot of the new features are turbobroken. Ex: https://www.reddit.com/r/nextjs/comments/yj4r3q/migration_fr...

They are claiming turbopack is a webpack successor purely based off of having hired the creator of webpack: https://twitter.com/TheLarkInn/status/1584996270242148352.

They are pushing the idea that they are doing revolutionary stuff when in actual fact they are copying existing projects that have been around for years:

- turbopack using the same architecture as Parcel: https://twitter.com/devongovett/status/1585035737971724288

- "literally copy pasted Lage’s design and docs and branded it as Turborepo" https://twitter.com/jeffbcross/status/1583251710654283776

I strongly dislike the way they have gone about marketing their new tech.

Things like this also feel off: https://twitter.com/ascorbic/status/1585004156615479296


Vercel is fantastic, they made a blunder, I guess. I don't really care. They're bringing JS tooling light-years past where it was originally. Webpack has needed to go away for the longest time, and Vercel might finally have done it by hiring Tobias. And it's objectively faster than Vite, not that I care.

Everyone is jumping on it, and accountability is good, but no reason to avoid Vercel.


Note: what makes webpack “great” is its extensibility. Until Turbopack reaches that point (and officially they said they won’t) it won’t replace it.

“Successors of webpack” is just more marketing as webpack isn’t going anywhere anytime soon.

Turbopack is just another packer among a sea of them.


The author of Turbopack is the creator and maintainer of Webpack.


This is in no way a counter-argument to the parent post.

Parent talks purely about software while you're talking about the author of the software.


It's not "just another packer" in this context and calling it a successor is not "just more marketing".


It's clearly just another packer, assuming you judge what the program is by what the program does.

Hard disagree about the marketing part as well. For something to classify as a successor to something else, it should at least provide feature parity for the core features of that something else (in this case extensibility).


So I guess everything is "just another X" and nothing matters.

That definition of "successor" would make 99% of all things people usually call successors ineligible to be called as such.


Turbopack only shares the original author and the general purpose. Unless they call it "Webpack 7" or deprecate Webpack, it's not the successor. It's as much a successor as Deno is to Node.


by that logic, deno is successor to node


You sound like you work for Vercel. Vercel is not the only company working on JS tooling and they are nowhere near replacing Webpack yet.

> And it's objectively faster than Vite, not that I care

From this submission:

"Since this is a composite benchmark that involves both Node.js and native Rust parts, there will be non-trivial variance on different hardware. The numbers I posted were gathered on my M1 MacBook Pro. Other users have run the same benchmark on different hardware and reported different results. In some cases Vite is faster in the root case, whereas in others Vite is significantly faster in both cases."

Right now, Vercel is making much ado about nothing.


>The Vite implementation is still using the default, Babel-based React plugin.

What do you mean "still"? Everyone setting up Vite is supposed to NOT use the default configuration?


The argument is that the Turbopack run had favorable non-default settings while the Vite run did not. Remember the context of your quote:

> After reading the post and benchmark code, here are a few key takeaways: 1. The Vite implementation is still using the default, Babel-based React plugin.

I.e. the "still", refers to the config used in Vercel's original benchmark. Since they had tweaked the Turbopack React config, yes, this is noteworthy. Whether this was ignorance about Vite (i.e. making a straw-man argument) or malice, we don't know. Since Vercel did publish their config, assuming ignorance is enough for me. My own conclusion was that defaults are tradeoffs, and that tweaking them can improve some aspect (performance) while negatively affecting another (disk space):

>> The reason Vite currently defaults to Babel was a trade-off between install size and practicality. SWC's install size is quite heavy (58MB in node_modules whereas Vite itself is only 19MB), and many users still relied on Babel for other transforms, so a Babel pass was somewhat inevitable for them. However, that may change in the future.


> Since they had tweaked the Turbopack React config, yes, this is noteworthy.

Did they? My understanding is, that Turbopack uses SWC by default. So without at least a confirmed intent to change the default on Vite’s part, I feel like that choice is valid (though it should be explicitly mentioned).


The tweaking/optimization they did was about the RSC vs not, which Evan says drastically changes the outcome, the same way switching Vite to SWC would have. I don't think he suggests that Turbopack was tweaked regarding SWC. It looks like they cherry-picked a configuration pair that made Turbopack look better than what you would get if you either just followed defaults/beginner settings for both, or you optimized both.


Turbopack is alpha, it seems fair to benchmark against an alpha configuration of vite. It sounds like they're considering changing the default, but were uncertain it helped most users today.


Whether they are measuring "default" setup or optimised, both of the frameworks should follow same criteria.

Evan's criticism is that By default, Next use RSC(React server components) which is slower for HMR. in the benchmark, they disabled it for getting higher performance. At the same time, they are saying vite should use default setup for "fairness"


Well you should read the entire thing before commenting, it's clearly explained in the Evan's post.


The frontend tooling debacle has got to the point where I'm not only leaving frontend development, but tech entirely. To not have to think about this endless nonsense anymore is such a massive weight off my shoulders.


No one is forcing you to listen to or even use these tools. You are causing your own stress here.


And both of these tools are basically drop in replacements for each other with very little configuration. This blog post is saying the performance difference is negligible.

So I guess it’s bad that instead of radically different configs and performance of Webpack vs Rollup vs Parcel vs etc, compared to the future of choosing between a much more mature build tool market with Vite and Turbopack is a bad thing?


Astonishing how many people are raging in this thread and about frontend in general when they can just close the tab. It's not worth it


Amazing, you helped the person in question with a single sentence. I can feel their stress disappearing.

Mere fact that we're at the point where we have transpiler upon transpiler upon transpiler, where "wRiTtEn iN rUsT" is used as quality/performance control, where people throw term performance around as if it's a hot potato and no one mentions environments/hardware and actual real world use scenarios and where apparently everyone are building World of Warcraft scale apps in frontend is what's making a mockery out of entire frontend world. It's no wonder that entry is difficult and that so many impostors are trying to build a name for themselves by producing yet another useless library that's gazillion times faster than the other useless library.

Frontend is a joke because of self-proclaimed developers building tools which they themselves can't use or explain to wide audience and that causes negative feeling when one has to deal with frontend manure.


That was a pretty great summary


Do you remember when we were stuck on Grunt? Options are good.

I wish you well in your new career as a professional sculptor but "the js ecosystem has too many options!" gets posted on every one of these threads with little specific relevance to the article at hand.


Are there companies that expect their developers to keep up with the latest developments so aggressively? At my job, things like Remix/Deno/Turbopack make the water-cooler conversations, but we only use established tools for projects. I think it would take several years for me to fall behind if I simply ignored new frameworks and tools.


I thought this too, working at a company mostly focused on jQuery/Rails as a foundation for a lot of the work I was doing.

I've been searching for a "full-stack" Web development job for the past 8 months this year, and aside from industry incompatibilities, the biggest headwind I'm facing finding an employer that recognizes front-end development is so much bigger than how you arrange your JavaScript to enable interactivity.

I have experience with React; my last career position allowed me to go from 0-100% confidence/competence with Svelte in 4 months. But employers want to see some equivalent of "3-5 years experience with React" and structure their shitty technical assessments similarly, and I've really had a problem trying to find the right way to show I'm just as qualified.


Build tools: when I interview candidates I ask them to explain what things like Webpack do. I don't care if they can write a config for it (but it's nice).

Runtimes: a lot of frontend JS engineers don't know what these are. Being able to explain them (and the difference between Node and Deno for ex) is a good answer. For backend jobs this is a hard requirement, but when I see "Node" in a frontend job listing I assume it means "can install packages from Node."

Frameworks: (like Next) it depends. If I'm hiring for an app already built in one, maybe. A general answer like "SSR is a problem with React" and "this framework solves that problem this way" is useful.


What field are you going to ?


Try finding jobs via non-referrals mode, it's hell on earth. If you disagree that nodejs | reactjs stuff is a good idea, you are doomed!


vercel is a startup that strangely wants to monopolize the open source ecosystem. this is a really big different paradox. they will probably do in other libraries what they did for react ecosystem. but i'm not sure what good it does to anyone other than themselves.


> Turbopack's 15ms was rounded down to 0.01s while Vite's 87ms was rounded up to 0.09s. This further got marketed as a 10x advantage when the original numbers were close to 6x.

Do any developers actually care/notice this level of HMR delta anyway, whether it's 80ms or 72ms? Is it really important for a HMR to be 80ms faster?


Yeah, the whole thing was totally uncalled for IMHO. I couldn't care less about HMR speed atm, when there are far worse plagues infesting the ecosystem.


“You either die a hero, or live long enough to become the villain”


TLDR: Vercel team agressively shat on Vite devs just for $$$. Come on Vercel team, that was unnecessary.


Another reason to avoid NextJS or Vercel. Especially as there are much better products by more honest companies available.


Sorry for OT but am I the only one who hates this new "X times faster" or "X times less than" wording that has started to appear recently? I get that "finishes in 1/10th the time" is a little clunky, but "ten times faster" is both wrong and awkward sounding.


I don't see the problem. For example, if something finishes in 10 minutes, it has 6 completions per hour. If a competitor finishes in 1 minute, it has 60 completions per hour. It both finishes in 1/10 of the time (time per completion) and is 10 times faster (completions in a given amount of time).

If you don't like the unit "completions per hour", consider that you don't have to drive for an hour or even go a mile to go 60 miles per hour.


You are of course completely correct. However, I do think numbers like these are more intuitive when people talk about duration (or latency, or time taken; depending on context) rather than speed outside of very narrow situations.

In a car, 60mph has some kind of well-known interpretation; there's an experience to that that people can at least vaguely identify. And it's also related to fairly intrinsic limits, such as legal speed limits, safety, etc.

But even in a car, people tend to care about trip-times, not speeds. And speeds are harder to work with; If you travel 30mph on your commute to work due to traffic; and 60mph on your way home - what was your average speed? Not 45.

Outside of a car and in a computation context, it's even more impractical to talk about "speed" - after all, we're usually dealing with lots of stages; and it's rather easier to simply add up latencies than it is to some reciprocal of reciprocals dance. Even if time is workload dependent, then the time-per-workload framing tends to be more helpful than the workload-per-time framing.

As a corollary, people currently talk about high refresh gaming, and will happily report how some workload went from 300fps to 400fps, without noting that this is the same frametime reduction as going from 48 to 50fps (setting aside perceptual limitations). Workload-per-time is pretty unintuitive.


That's actually a nice way to look at it, and helped me see why and in what cases I dislike this phraseology - I couldn't really articulate this before. So I think my issue is presenting something in time-units per action and talking about an optimisation of it as multiples of actions per time-unit faster.

I hate it a little less now :)


Well, speed is distance/time. For the "speed" analogy to make sense when talking about performance, we have to translate "distance" to something more abstract, let's call it "work". That means we have speed = work/time. If you have 1 unit of work (say you think of "build the whole app" as one atomic operation) which used to take 20 seconds, and now it takes 2 seconds, you went from a speed of 1/20=0.05 to a speed of 1/2=0.5, which is a 10x increase.

Hence, "it's 10x faster" is a valid way to write "it does the same work in 1/10 the time".


Yeah I get it - it just feels a bit clumsy to use the flipped units when summarising the optimisation. Just a personal taste thing though.

I still think "X times less than" can GTFO though - as in 10,000 is "seven times less than" 70,000 - which is the kind of thing I'm seeing more recently. That wasn't mentioned in the article though, it was maybe a bit unfair to lump them together.


There's nothing new about this wording. It's been common and established for a very long time. To me it's clear and correct (barring shenanigans like those in the linked article). Here's a search for some instances from the 1800s: https://www.google.com/search?q=%22three+times+faster%22&biw...


This is tens of milliseconds that we're talking about here too. It's really dumb to think that would be perceptive in developer experience.


Yeah but how many times do you live refresh when you’re working on Next projects? I’d bet hundreds of times per day isn’t unusual at all.

Seconds of developer time could be saved every day!


10x faster means something. 10x slower does not (1x slower, to me, is "stopped")


Vercel and the VC money they generated is probably one of the worst things to happen to FE OSS. I avoid next like the plague.

To make matters worse, now the react and next teams are actively colluding with each other, effectively allowing vercel to have a competitive advantage on feature development for react.

It might seem great now but this is the hairline crack that will destroy the react ecosystem.

I wouldn’t be surprised if vercel tries to buy react and its team.


Vercel is an evil company in disguise.

I’ve understood this and stopped using Next with all the enabled by default and intentionally difficult to disable metrics collection system they have in Next.

Having it enabled by default, without asking is already evil enough.

Refusing to have a setting you can easily commit into the repository to turn it off is next level.

They trick people with the “just set this env var” to turn it off, and rely on people doing it wrong, forgetting to do it in certain environments, etc. it’s intentionally complicated, when a frigging Boolean setting in next.config.is would be better. They refuse to do it. That’s what evil companies do.


Can you provide a source for 'They trick people with the “just set this env var” to turn it off'? I'm reading their documentation about telemetry and it says something different, am I missing something?

[0] https://nextjs.org/telemetry


The documentation is purposefully deceiving. It makes you believe, in good faith, that disabling telemetry is per project when in reality it is per machine.

I just tried it myself on a brand new Next project:

    $ npx create-next-app@latest
    
    ...

    $ npx next telemetry disable
    Next.js' telemetry collection is already disabled.
    Status: Disabled
    You have opted-out of Next.js' anonymous telemetry program.
    No data will be collected from your machine.
    Learn more: https://nextjs.org/telemetry
Note the part that says "from your machine".

An issue was crated about it but they just closed without responding: https://github.com/vercel/next.js/issues/31360


THIS


Sure.

1. Last paragraph of that link you posted

2. https://github.com/vercel/next.js/issues/8851

3.https://github.com/vercel/next.js/issues/10713

4. Many similar discussions to this one here on hackernews.


Always a good idea to add some network policies for egress traffic


To disable Telemetry simply run `npx next telemetry status` or set

``` NEXT_TELEMETRY_DISABLED=1 ```

in your .env file. I mean it couldn't be any easier.


You seem to have missed this part.

> They trick people with the “just set this env var” to turn it off, and rely on people doing it wrong, forgetting to do it in certain environments, etc. it’s intentionally complicated, when a frigging Boolean setting in next.config.is would be better. They refuse to do it. That’s what evil companies do.


I'm sorry I don't see how they're tricking people or relying on them do it wrong... seems like you're really reaching there.


And you're just falling into their trick. Just check how this works. And how easy it is to forget to do this on every environment you're deploying to, or for every other developer in your team.

This is exactly the evil part I'm talking about.


What is the trick? They provide an easy way to disable telemetry and multiple ways to do it. It's up to your team to follow your organizations processes. If you don't want telemetry enabled, tell them to disable it and have checks in place to make sure it's disabled.


You don't get it.

There's an easy way to do this, which is having a config setting. They don't want to put it easy, and provide all these more convoluted ways, because what you describe is an "ideal" which doesn't reflect real life at most workplaces. That's the whole trick. "It's easy, just put this environment variable and ensure everyone on your team does it on their laptops and ensure every staging and production environment also does it and setup checks and scripts to automate it and alarms and improve your processes... it's just that easy".

Can you explain what's wrong with having a friggin boolean in a config file? Like VSCode does? Like any other non-evil piece of software does?

That's what I mean with being evil. That's what I mean with tricks.

Of course it can be disabled, and it "seems easy". That's the trick.


So which framework should you use? It is easy to say XYZ is bad, but what do you use instead, ASP.NET?


Laravel looks like the most mature fullstack framework. .NET and Java might be nicer on the backend, but they are a decade behind the competition on the frontend. The javascript community doesn't seem to want a fullstack CRUD framework, the consensus seem to be that every project should make its own ad hoc framework, like the PHP community did 10+ years ago. This resulted in a lot of spaghetti code, and javascript, even with their advanced libraries, isn't much better. The downside of not betting on javascript is that "everyone" knows javascript by now.


> The downside of not betting on javascript is that "everyone" knows javascript by now.

I'd say: everyone thinks they know javascript. Learning a new language is easy (especially with C-like syntax) but not the library. The language having nearly zero standard library makes it change under your feet on every different context. Deno started the initiative to supply what you get in the browser everywhere, but the browser being a GUI environment, the missing stuff need to come from somewhere, like the Deno.listen[0]. .NET is not much better with one million different runtimes with different platform support and capabilities.

[0]: https://deno.land/api@v1.27.0?s=Deno.listen


I chanced on https://adonisjs.com/ the other day. It's modeled to be somewhat similar in ecosystem, batteries included and some syntax/layout to Laravel. Haven't really tried it yet but the community seems to be very active, there is also https://adocasts.com/ for eg.


First and foremost, I don't go SPA/React by default on every project, so that reduces a lot my need of the kind of framework I think you're thinking about.

Now, if I do need a lot of interactivity in the frontend, I use Inertia with Laravel, which gives me a real full stack, robust, battle tested, well integrated and very productive solution.


And Adonis is great if you want to stay in jsland


> ASP.NET?

I do - .NET (since 5) has been great. And you've got stuff like Blazor for the frontend if you want to avoid JS entirely.


Before next, server-side React was a nightmare. They've simplified it a bit by providing Next.

It would be wise to decouple Vercel, the company, and Next, but Next as a framework itself is great to work with at scale.


The increased coupling of next to vercel does not appear to be an accident but part of the business model.


I totally agree with you, Next has introduced some innovative ideas and created a framework on top of react that rivals the quality of the react codebase itself.

However, this is the foot in the door that creates incentives that prioritizes their business model over creating a vibrant and healthy ecosystem.

Now that the react dev team and next dev team are closely working together, to the point that the react team is part of the nextjs conf announcements, it really starts to show the wolf in sheep's clothing.

This is not an open ecosystem anymore, it's being run by FB and VC money.


What I find most distasteful about this Turbopack move is that it can be seen as a mechanism to create leverage by owning the ecosystem not unlike how Apple does with their platforms and Meta is trying to do with VR.

Both target.com and walmart.com are running Next.js (view source → `__NEXT_DATA__`).

The disingenuous comparisons against Vite's performance seem innocent enough, but there's an underlying cynicism I cannot shake that the true objective is to own the ecosystem so they can create leverage against the community of users -- both commercial and non-commercial -- in the future.

I think I would personally feel very differently had they announced that they are investing in Vite, for example.


"I wouldn’t be surprised if vercel tries to buy react and its team."

Meta would have nothing to gain and everything to lose from that, highly unlikely they would be interested.


> I wouldn’t be surprised if vercel tries to buy react and its team.

why buy it when you can just wait for people quit and come over :)


[flagged]


It only took two comments to go from talking about web bundlers to Rohingya genocide. This website sure is something.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: