Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
New Racket Build System (racket.discourse.group)
61 points by todsacerdoti on April 17, 2022 | hide | past | favorite | 6 comments


Looks like the build system will be using Zuo.

https://github.com/racket/zuo/

https://news.ycombinator.com/item?id=31017057 [104 pts, 27 comments] (Apr 14)


Racket always seems keen to reinvent systems and produce new tools and components. But, innovation notwithstanding, a raco install can take several minutes on modest devices. It’s unbelievable to me, but maybe I don’t understand raco that well.

I’d love to see smaller pkg sizes and faster installs. Maybe this build system is a step towards that?


It depends what you're installing, which isn't clear from your comment, but the big reason that installing racket takes a while is that it's quite a lot of software, and it does significant compilation ahead of time.


> time raco pkg install rebellion

(... various build output ...)

real 13m40.762s user 15m55.635s sys 0m48.083s

This is a quad-core device from 2012 with 8GB ram and a typical non-ssd hard drive.

I find this time to be damning in terms of considering Racket for a production system. Don't get me wrong, I enjoy some features of Racket and have used it for multiple personal PLT sidetrack projects, but how am I meant to deploy something that takes 13m (!!) to build one single package?

I'm spoiled with Go and Python, so I can enjoy very fast speeds in my typical work, and maybe I'm just out of touch with how much the Racket compiler is actually doing.

I'd love to know your feedback, and whether there's some way to speed Racket up.


Just tried that command (wanted to give rebellion a bit of a go anyway) on my dual-core 4GB laptop with an SSD:

real 5m18,721s; user 6m22,607s; sys 0m20,515s

So, given that the SSD seems to make a difference, and looking at the build output, and that my CPUs looked rather bored, I'm wondering if it's the local documentation builds.

Have you tried `raco pkg install --no-docs rebellion` for comparison? That completes in around 44 seconds on my system.

Not sure about good solutions though, I only use racket for prototyping at the moment.


Indeed that brings the command down to about 1m30s of real time. Excellent advice!




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

Search: