3 ms·
How has using Crystal been, anyone using it in production?
by satvikpendem 2y ago
How has using Crystal been, anyone using it in production?
- willmeyers 2y agoI believe Kagi (https://kagi.com/ https://kagi.com/) uses a lot of it.
- pankajdoharey 2y agoI used it in production for a client last yr and i compared that with a go implementation. The concurrency support of crystal on a 40 Core machine beast the socks off golang. Crystal both maxes out all the cores to a high degree, on file io and overall speed of execution. The time taken to do the same task Crystal; beats go by a significant margin while being so easy to write. And go is a easy language to write but Crystal is so much more easy to read because of Ruby syntax inheritance.
- nine_k 2y agoWhat is the reason of such advantage over Go? The latter is known to be geared towards concurrency, and also for having a very fast GC.
- bendangelo 2y agoIt's Ruby like syntax is awesome. It reads like psuedo code.
- pankajdoharey 2y agoMy guess is LLVM. Crystal Uses LLVM for code generation while Go has their own compiler backend.
- Imustaskforhelp 2y agoGo can also compile to llvm https://github.com/goplus/llgo https://github.com/goplus/llgo Though I am not sure how fast it is.
- pjmlp 2y agoDoesn't look like it fully supports the language or ecosystem, with partial support for 1.21 version.
- Imustaskforhelp 2y agoman, I wish for something like crystal but with a little more golang like syntax. I hate OOP though, I may be wrong but crystal afaik is OOP. I wish for a non OOP golang-esque crystal alternative.
- pmarreck 2y agoRoc? They're unfortunately in the middle of a compiler rewrite from Rust to Zig right now though
- shawabawa3 2y ago> something like crystal but with a little more golang like syntax... I wish for a non OOP golang-esque crystal alternative. I don't understand... Isn't that golang?
- xigoi 2y agoI think V might be what you’re looking for?
- samuell 2y agoCan second about the concurrency syntax! Did a small comparison with Go a few years back [1]. I my tests I have got the feeling it is causing a lot less gotchas with blocking go-routines and such. Not sure why that is though. Surprised to hear about the multi-core performance though! That is super interesting. [1] https://livesys.se/posts/crystal-concurrency-easier-syntax-than-golang/ https://livesys.se/posts/crystal-concurrency-easier-syntax-t...
- prh8 2y agoWe use it to generate sitemaps with >30 million entries. Ported a Rails task that took ~9 hours to Crystal, using a library with the same API as the Ruby gem we had used. Essentially a copy-paste-tweak that took a couple hours of effort. Crystal version now runs in prod in about 30 minutes.
- rookderby 2y agoWhat was the library?
- the_third_wave 2y agoIf you're running or using Invidious [1] - a YouTube proxy service - you're running or using Crystal. [1] https://github.com/iv-org/invidious https://github.com/iv-org/invidious
- relistan 2y agoHave been using it in production for years for small projects. But also have a current, larger project in it that is going well. A few years ago I built a high throughput (20k shortens/s) link shortener for work, in Go. I later rewrote the main path in Crystal to test it for performance. It was a bit faster than the Go version (22k/s) on the same infrastructure… but running on a single core! We did not finish/ ship it, but it was revealing.
- relistan 2y agoIn case anyone asks, yes I did also test the Go version on a single core. It was slower than on multi-core.
- compumike 2y agoUsing it extensively in production at https://heiioncall.com/ https://heiioncall.com/ . It’s a joy to work with. Fast to write AND fast to run. :)