83 comments

[ 2.6 ms ] story [ 73.0 ms ] thread
Oh great, the term "big data" is back.
That's an awesome idea to get a bricked MacBook Neo really fast because those idiots soldered the SSD inside
Queue the endless blog posts about running tech on the potato macbook and being stunned it’s functional with massive trade-offs. Groundbreaking stuff.
Mind blown, if you need to handle "big" data on the move - the macbook neo is not the right choice. - Who would have guessed that outcome?
This is as much an indictment of AWS compute as it is anything else.
I would have benchmarked with an instance that has local nvme, like c8gd.4xlarge.
That's a good point. I re-ran the benchmark on two instances:

- c8gd.4xlarge - this has a single 950 GB NVMe SSD.

- c5ad.4xlarge - this has 2 x 300 GB disks, which I put in a RAID 0 array. There are no c6ad.4xlarge instances, so this is the closes NVMe-enabled approximate to ClickBench's most popular choice, c6a.4xlarge.

I also added results from my local dev machine, a MacBook M1 Max with 64 GB RAM and 10 cores.

Here are the results:

  | machine        | cold_run_avg | cold_run_sum | hot_run_avg | hot_run_sum |
  | -------------- | -----------: | -----------: | ----------: | ----------: |
  | macbook m1 max |         0.48 |        20.68 |        0.43 |       18.60 |
  | macbook neo    |         1.39 |        59.73 |        1.26 |       54.27 |
  | c8gd.4xlarge   |         0.51 |        22.04 |        0.24 |       10.36 |
  | c5ad.4xlarge   |         1.29 |        54.14 |        0.55 |       22.91 |
  | c6a.4xlarge    |         3.37 |       145.08 |        1.11 |       47.86 |
  | c8g.metal-48xl |         3.95 |       169.67 |        0.10 |        4.35 |
On the cold run, the MacBook is on par with the c5ad.4xlarge. The c8gd.4xlarge is about ~2.5x faster on the cold run.

I know this is moving the goalpost, however, it's quite interesting that both of these cloud instances with instance-attached storage are still outperformed by the M1 Max (which is 4+ years old) on the cold run. And they would quite likely lose against the latest MacBook Pro with the M5 Pro/Max on both the cold and the hot runs. But that's an experiment for another day.

> TL;DR: How does the latest entry-level MacBook perform on database workloads? We benchmarked it to find out.

That's not tldr, that's just subheader.

You're right! I pushed an updated TL;DR block.
For the TPC-DS results it would also have been nice to show how the macbook neo compares to the AWS instances.

Or am I missing something?

Indeed, it would have been interesting but I really wanted to get the blog post out on the launch day of the MacBook Neo and did not have the bandwidth to run additional cloud experiments.

I ran TPC-DS SF300 now on the c6a.4xlarge. It turns out that it's still quite limited by the EBS disk's IO: while 32 GB memory is much more than 8 GB, DuckDB needs to spill to disk a lot and this shows on the runtimes. Running all 99 queries took 37 minutes, so about half of the MacBook's 79 minutes.

> Command being timed: "duckdb tpcds-sf300.db -f bench.sql"

> Percent of CPU this job got: 250%

> Elapsed (wall clock) time (h:mm:ss or m:ss): 37:00.96

> Maximum resident set size (kbytes): 25559652

ty for the follow up!
I’ve been tempted to buy one and do “real dev work” on it just to show people it’s not this handicapped little machine.

I built multiple iOS apps and went through two start up acquisitions with my M1 MBA as my primary computer, as a developer. And the neo is better than the M1 MBA. I edited my 30-45 min long 4k race videos in FCP on that air just fine.

I'm still doing iOS dev on my 2020 M1 MPB, and it's fine! I expect that if I change out its battery and apply new thermal paste it would run for another 6 years.
> I built multiple iOS apps and went through two start up acquisitions with my M1 MBA as my primary computer, as a developer. And the neo is better than the M1 MBA. I edited my 30-45 min long 4k race videos in FCP on that air just fine.

Before I was a professional software developer, I used a scrawny second-hand laptop with a Norwegian keyboard (I'm not Norwegian) because that was what I could afford: https://i.imgur.com/1NRIZrg.jpeg

This was the computer I was developing PHP backends on + jQuery frontends, and where I published a bunch of projects that eventually led to me getting my first software development job, in a startup, and discovering HN pretty much my first day on the job :)

The actual hardware you use seems to me like it matters the least, when it comes to actually being able to do things.

The almost regretful "I'm not Norwegian" clarification here is charming.
I do most of my work remotely on a little Raspberry Pi 4 server attached to my home ISP: https://fatcity.it/

But I'm planning to do a big jump: Soon I will switch to a 2012 Mac Mini as my primary linux server!

It would have been a better fit for me than the M4 Air, I literally use it only for typing and browsing, plus a could of Mac-only tools. Brilliant machine but complete overkill for me. It's almost tempting to switch just to get rid of the display notch.
I'm glad enough people got M1 MacBook Airs now that the broader sentiment within the commentariat is changing and people are pushing back on the dismissals.

8gb has ALWAYS been fine in Apple Silicon Mac OS. RAM usage on a fresh boot is a meaningless statistic (unused RAM is wasted RAM). And they're just plain capable!

I was doing Android development and Verilog synthesis on a mobile Nehalem i5 in 2020. That machine is still totally adequate for anything a "normal person" does with their computer, provided they have good tab hygeine. The reality is that (unless you play video games and/or you want local LLM inference) the demands people place on their computers haven't changed significantly in at least 10 years.
The argument is misrepresented - I think it's about frustration and convenience, not achievability.

I developed some work that keeps tens of thousands of people alive every day on a $100 Acer netbook almost 15 years ago. The tools are always there, I don't think anyone thinks the work is actually impossible to do on a limited machine.

Would say get one with a fan, my small react native app building/indexing in xcode takes several minutes on a 2020 M1 macbook air

But damn I like that design

I was using a M1 Mac Mini and only 8GB of RAM on it to build iOS apps for maybe a year. It's absolutely doable, though it very noticeably gets a little less snappy when building projects. When building in Xcode and then switching to Firefox to browse for instance, I could tell it took slightly longer to switch tabs and YouTube playback would occasionally stutter if too much was happening.

I also was using an Intel MacBook Pro with 16GB at the time. Doing the same thing there was much smoother and snappier. On the whole, it actually made me want to just the laptop instead since it "felt" nicer. (This isn't measuring build times or anything like that, just snappiness of the OS.)

I just spent vacation deciding not to bring a laptop, but to use my android phone (a galaxy s22) with a hdmi adapter and Bluetooth travel keyboard. Plugged it in to the TV in our accomodation and had a lot of fun.

Running neovim on termux was fine. Developing elixir was no problem, the test suite took 5s on my phone, and takes 1s on my laptop. Rust and cargo compiling was slow enough that I didn't really enjoy it though.

Meant that I could just pack up instantly and have an agent do review workflows while I was out and about as well in my pocket, and didn't really notice a big battery hit.

I wrote a fix for node that got upstreamed a few years ago on a Lenovo Thinkpad 3 Chromebook. I'm actually commenting from it now. It's not a workhorse by any means, but for $99, it's not bad. A 1.1GHz Celeron processor with 4GB of memory is able to compile projects like node, python, Erlang, etc. without much hassle. It just takes a lunch break :)

Any modern Mac is more than capable. I had the baseline M1 Macbook Air that I did work on as well, just to see how that fared. Much better than this machine - 10x the price, but more than 10x the performance. This one is great as a "I don't mind if I break it or lose it" device.

People usually forget 8GB isn't 8GB. Memory compression means you can store ~2x (lz4) to 3x (zstd) as much data in memory as ordinarily. And in the worst case, reading swap from disk (writes don't matter as they can be predicted) is so much faster with NVMe SSDs.

The worst corner they cut is no keyboard backlighting. That saves them what, $1 BoM per MacBook Neo? Especially because now they have to put up an entire new keyboard production line instead of just piggybacking off of the Air keyboard production line.

This is PR speak.

No 8GB, compressed or whatever was not enough for MacOS when M1 was released. Even for simple outlook, web browser, excel type of workflows.

After 3-4 hours of work, the window manager process itself is consuming gigabytes of memory. Not even considering any browser or electron apps.

My M1 Mac mini was choking up so much that I had to trade it in. That was back in 2021. Today apps are even more bloated.

> just to show people it’s not this handicapped little machine

I used to think this way about Apple and its jarring to read with it 10-15 years behind me.

It reads as aggro and oddly tribalistic / sports fan-y.

(what people? who thinks its slower than an M1? who thinks you can't code on it? what will you coding on it prove to these people that the benchmarks they read can't? with all that, why get so invested you're buying a machine you don't want to use day to day? what does "handicapped" mean in this context?)

Only sharing b/c I never understood why people would roll their eyes at me, and apparently I finally reached my own graybeard moment, and I am now rolling my eyes at both of my selves :)

Nice, you beat me to this concept. I finally planted a flag and decided to dev entirely on an M3 with 8Gb.

It is completely feasible, and the battery life - amazing. Even when running a whole pile of Kubernetes services.

All of FastComments is/was built on an 8th gen i7 from 2017

Using older hardware has helped me not accidentally build slow stuff. Although at some point I gotta upgrade and just add more performance tests :) but nothing replaces feeling it yourself.

8gb of memory is the issue. I regularly catch the window manager consuming more than 8gb on my 16gb machine.

Also a browser sneeze takes more than 4gb.

Seems completely unnecessary, there is probably 0 overlap between people who buy a cheap MacBook and people running DuckDB locally
It’s necessary because the ignorant keep saying 8GB of RAM is a deal breaking limitation on the cheapest MacBook available.
You'd be surprised. There are many of us analysts in the third world who are paid pennies and expected to build large-scale exec dashboards from nontrivial data - with no cloud support whatsoever. ETL has to be local from hundreds of GBs of csv dumps.
I agree I don’t think it’s going to be something people really do.

I just thought it was neat. It’s a phone chip, we’ve never been able to do stuff like this on an Apple phone chip before. No one was porting this to the iPhone to run there.

In my mind this is purely a curiosity article, and I like that.

I'm interested by one (not for big data) but only 8 GB or RAM is kinda really sad.

My good old LG Gram (from 2017? 2015? don't even remember) already had 24 GB of RAM. That was 10 years ago.

A decade later I cannot see myself being a laptop with 1/3rd the mem.

as a broke ecologist, this little computer can do everything I need in R and word and is a phenomenal build for the price. I'm really enjoying it thus far.
I take it you're researching clams? Or you happen to like clams a lot?

Where I live, our government-funded clam research programs are mostly shutting down. Very sad.

> compared to 3–5 GB/s

Their numbers are a bit outdated. M5 Macbook pro SSDs are literally 5x this speed. It's wild.

This is awesome.

I wish more companies would do showcases like this of what kind of load you can expect from commodity-ish hardware.

That's not Big Data. If you "need to process Big Data on the move" - what you need is a network.
When I teach, I use "big data" for data that won't fit in a single machine. "Small data" fits on a single machine in memory and medium data on disk.

Having said that duckDB is awesome. I recently ported a 20 year old Python app to modern Python. I made the backend swappable, polars or duckdb. Got a 40-80x speed improvement. Took 2 days.

The funny thing is that those days you can fit 64 TB of DDR5 in a single physical system (IBM Power Server), so almost all non data-lake-class data is "Small data".
A bit of a moving target there, especially with the definition of medium data on disk considering the rise of high speed NVMe vs spinning metal. Makes me wonder if the 00s 'Big Data' era and the resulting infra is largely just outdated now...
That c8g.metal-48xl instance costs $7.63008 on demand[1], so for the price of the laptop, you could run queries on it for about ~90 hours.

:shrug: as to whether that makes the laptop or the giant instance the better place to do one's work…

[1] https://aws.amazon.com/ec2/pricing/on-demand/

Funny just yesterday I almost bought one but got cold feet and opted for a low range MacBook with M5 chip. The Apple sales rep was not convinced it would be enough when i described using it for vibecoding and deploying so kind of talked me out of getting the Neo. I normally use a mix of LLMs, then connect to Github and do a one-click deploy on CreateOS. Do you think I over-reacted? The price of the Neo is SO attractive, a clean half price compared to what I got.
Imho 8GB RAM for productivity can quickly be restrictive. I used an M1 with 8GB and my current Macbook is M2 with 16GB, and to me the difference feels bigger than 2x. It seems not everyone here feels that way, but I'd say there's a reason Apple bumped the base models to 16 and makes that exclusive to non-Neo models.
Why do you need an M5 to run Cursor and a browser? Your laptop isn't doing anything in your described workflow.
If you have doubts and you have the money, why worry about it?
I think you’ll be quite a bit happier. Between the quality of life stuff like the ancient life sensor, the pure quality stuff like a better screen and speakers, and extra RAM so it lasts longer that seems like a good decision.

The Neo is neat and for someone who mostly does surfing and standard office work kind of stuff I suspect it’s a pretty great little laptop for way less than Apple usually charges.

But it’s not going to compete with an M5 anything.

I adore DuckDB.

Did a PoC on a AWS Lambda for data that was GZ'ed in a s3 bucket.

It was able to replace about 400 C# LoC with about 10 lines.

Amazing little bit of kit.

It really is one of the greatest open source gifts of recent years.