fasterthanlime,
@fasterthanlime@hachyderm.io avatar

Due to:

  • macOS/iOS integration being really good
  • context switching between win11/macOS sucking
  • wanting affordable Apple Silicon CI
  • zed being macOS-only for now
  • DaVinci Resolve being great on mac (even w/low specs)
    I bought the cheapest M2 mac mini they have 🤷
fasterthanlime,
@fasterthanlime@hachyderm.io avatar

"I can afford to solve this problem with money" is huge personal growth re: curing the "protestant ethics" and "engineer brain" double whammy

alper,
@alper@rls.social avatar

@fasterthanlime Mac hardware lasts forever so given Dutch Protestant accounting it can still be considered cheap.

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

Just set up my 8/256GB M2 Mac Mini and as expected:

  • silence 😌
  • bye Magic Utilities! Touch ID + Trackpad is killer for desktop use
  • AirDrop!
  • push to edge of screen to move mouse/keyboard to laptop
  • copy/paste across devices etc.
  • Zed editor, Arc browser
jvnknvlgl,
@jvnknvlgl@mastodon.social avatar

@fasterthanlime I hope you’re not going to be bothered by the RAM and storage - I do have 16 GB of RAM but I’m often wishing I had gone for more storage.

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@jvnknvlgl I have a decent 2TB USB-C SSD, I'm using internal storage as a cache, pretty much. I didn't feel limited by 8GB of ram on my macbook, so!

anotherwalther,
@anotherwalther@mastodon.social avatar

@fasterthanlime oh hey, buy Rectangle Pro (ten euros one-time) and set up the touch-based throws for window splits. thank me later or i'll comp the price

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@anotherwalther oh god this is great, thank you so much!!

(i'm ten euros lighter)

muvlon,
@muvlon@hachyderm.io avatar

@fasterthanlime Nooo you cannot have nice things for yourself! Please self-chastise by installing GNU/Linux! (jk, have fun with the mac)

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@muvlon I got those replies unironically lmao

not to worry though, I'm punishing myself by writing software for linux on the server.

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

the M2 Mac Mini is using 30W while running a full Rust build 😌

(and idles at around ~9W)

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

You know what?

If you're curious how long something takes to build on an 8GB/8c Mac Mini M2, throw me a gist with instructions I'll measure it for you!

Someone asked for a test compile of haddock (haskell docs tool): 24.7s vs 2.8m on their machine: https://hachyderm.io/@fasterthanlime/112135297754888544

0atman,
@0atman@mastodon.social avatar

@fasterthanlime I'd be very interested to know what you get with my usual unscientific benchmark of:

  1. $ cargo install -f ripgrep
  2. [repeat until average build time presents itself]
    (make sure no sccache or other cargo tuning)

5.28s average on my pc, today.

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@0atman here you go!

laplab,
@laplab@mastodon.social avatar

@fasterthanlime Can you please try building prisma/prisma-engines repo? The instructions are here https://github.com/prisma/prisma-engines?tab=readme-ov-file#building-prisma-engines

If it's not too much to ask, I would be interested in both debug and release build times. Thank you!

fasterthanlime,
@fasterthanlime@hachyderm.io avatar
laplab,
@laplab@mastodon.social avatar

@fasterthanlime Thank you for sharing that!

To compare, here are timings from a MUCH more expensive Macbook Pro with 36GB RAM and 10 CPU threads on M3 Pro chip.

clean debug build: 1m13s
clean release build: 2m57s

I would say that this is not much of a difference because (1) I only really care about debug builds (2) I usually change little a time, so I am never rebuilding the whole project.

Definitely going to consider Mac Mini for the future!

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@laplab if you want to provide me with a typical change (in the form of a .diff or just general "add this line to that file"), I can measure hot/incremental builds!

laplab,
@laplab@mastodon.social avatar

@fasterthanlime Oh, that's cool! You can try this PR as an example of a typical change: https://github.com/prisma/prisma-engines/pull/4779. Probably a bit bigger than a single incremental change, but should provide a high bound at least.

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@laplab going from 473ed31 back to 446e407 takes 21.72s with "cargo b --timings", going to 473ed31 again takes 20.83s

(thanks for your patience!)

thejpster,
@thejpster@hachyderm.io avatar

@fasterthanlime we play “whose machine is faster” at work, and even my old M1 Pro MacBook is an absolute monster compared to the Thinkpads m’learned colleagues have.

I often wonder how much of this is better thermals, how much is just MIPS, how much is due to the astonishing raw NAND bandwidth, and how much is just down to aarch64 instructions being easier for LLVM to put together than x86-64 ones.

thejpster,
@thejpster@hachyderm.io avatar

@fasterthanlime of course, when I have to spin up an Rosetta hosted Docker container to run Ferrocene, the shoe is on the other foot.

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@thejpster 🥲

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@thejpster you forgot about 16K pages! I want benchmarks on those ThinkPads with 16K-page-linux

SoniEx2,
@SoniEx2@chaos.social avatar

@fasterthanlime can it compile and test wasm2kotlin? (just run the CI commands manually)

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@SoniEx2 looks good! https://asciinema.org/a/8pkJyMww76CdPuMyQb2jm1uk8 (I probably should've installed kotlinc first)

SoniEx2,
@SoniEx2@chaos.social avatar

@fasterthanlime uh yes we mean the tests usually take 2 hours to run and we need to run them with JAVA_OPTS=-Xmx2G or something, was wondering if M2 would be somehow magically faster or not :v

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@SoniEx2 okay yeah

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@SoniEx2 with the JAVA_OPTS you mentioned, it finishes in 340s? https://gist.github.com/fasterthanlime/a11ae26b80049242d33de60d3bd13569

SoniEx2,
@SoniEx2@chaos.social avatar

@fasterthanlime what o.o

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@SoniEx2 is it supposed to be longer?

SoniEx2,
@SoniEx2@chaos.social avatar

@fasterthanlime this usually takes an hour.

5 minutes?!

... is this using the apple jvm?

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@SoniEx2 mhh (keep in mind this is only run-tests, not run-unittests and the other one)

❯ nix-store --query --requisites $(which kotlinc)
/nix/store/d6vr31gydldgf4al6cyi6fy6z6d44n3n-bash-5.2p26
/nix/store/w5klnpcf0sinp5ghn7bm2q1bkm98z6g9-set-java-classpath-hook
/nix/store/s9d5xhnsk9f88prih89mir8wq3apq4a0-zulu-ca-jdk-21.0.2
/nix/store/xi10il4myv57ymfswp66hy6my74w9z87-kotlin-1.9.23

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@SoniEx2 okay here's the full suite being run: https://asciinema.org/a/j5ECLnJyoWkiLLznxyhSf77Ck

SoniEx2,
@SoniEx2@chaos.social avatar

@fasterthanlime JAVA_OPTS=-Xmx2G cmake --target run-tests

should fix that.

but yes the JVM is not known for being lean on memory :p

fasterthanlime,
@fasterthanlime@hachyderm.io avatar
tudor,
@tudor@hachyderm.io avatar

@fasterthanlime do you have any problems with having only 8GiB of RAM? is the system swapping often?

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@tudor I don't. My macbook has 8GB of RAM and it hasn't been a limiting factor for me! But I also SSH into servers often: I can get 64GB of RAM anytime I want.

tudor,
@tudor@hachyderm.io avatar

@fasterthanlime that's pretty neat! i feel weird for saying this but impressive that it runs davinci well too! i haven't used it myself, i'm just used to the dumpster fire that Premiere is...

alper,
@alper@rls.social avatar

@tudor @fasterthanlime I feel you would need 16GB if you’re running Xcode or Jetbrains for most of the day.

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@alper @tudor You'd be surprised!

whitequark,
@whitequark@mastodon.social avatar

@fasterthanlime heck yeah!!!

docRekd,

@fasterthanlime But what if I don't wanna?😜

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@docRekd follow your heart 😌

__head__,
@__head__@mastodon.social avatar

@fasterthanlime does zed support emacs keybindings? I don't own a mac but curious if I will be able to use it once it comes to linux.

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@__head__ I don't see an emacs keymap. It has a vim mode x)

wezm,
@wezm@mastodon.decentralised.social avatar

@fasterthanlime So Zed is really that good eh? I've been following its progress since its announcement, patiently waiting for the promised Linux version.

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@wezm I feel that way at least! And got a hard-to-please friend to like it, too.

I wonder what the timeline will end up looking like re: linux support, but there's some internal interest for it, so, who knows!

wezm,
@wezm@mastodon.decentralised.social avatar

@fasterthanlime It's actively being worked on, so hopefully the timeline is not too long https://github.com/zed-industries/zed/issues/7015

ghisvail,
@ghisvail@framapiaf.org avatar

@fasterthanlime Is the default 8 GB of RAM enough for your usage? Since it's not upgradable...

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@ghisvail it is! I know because that's what my macbook has, too.

8GB on Apple Silicon goes a long way, in my experience. I haven't found it to be a limiting factor personally.

janl,
@janl@narrativ.es avatar

@fasterthanlime welcome ✌️

ogi,
@ogi@hachyderm.io avatar

@fasterthanlime GitHub actions now has Apple silicon for free in open source projects (fairly recent additiaddition). If course not every project is on GitHub and open source

MevLyshkin,
@MevLyshkin@mastodon.gamedev.place avatar

@fasterthanlime Now install Fedora Asahi on it 🙈

fasterthanlime,
@fasterthanlime@hachyderm.io avatar

@MevLyshkin nah I keep my linuxes well-contained, on the server (sometimes even in containers on the server)

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • ngwrru68w68
  • DreamBathrooms
  • thenastyranch
  • magazineikmin
  • InstantRegret
  • ethstaker
  • Youngstown
  • mdbf
  • slotface
  • rosin
  • osvaldo12
  • tacticalgear
  • kavyap
  • everett
  • JUstTest
  • GTA5RPClips
  • khanakhh
  • cisconetworking
  • normalnudes
  • Durango
  • tester
  • cubers
  • modclub
  • Leos
  • megavids
  • anitta
  • provamag3
  • lostlight
  • All magazines