logo

To Discord αλλάζει από Go σε Rust

12/02/2020

To Discord χρησιμοποιεί ήδη την Rust στο client side (π.χ. video encoding) και στο server side (π.χ. Elixir NIFs). Το πέρασμα σε διάφορα services του σε Rust, βελτιώνει πάρα πολύ τις επιδόσεις.

Σε αυτό το post εξηγεί τους λόγους για το ξαναγράψιμο διάφορων services σε Rust. Δίνει ένα παράδειγμα για το πρόβλημα που είχε το “Read States“, το οποίο χρησιμοποιείται για να κρατάει ποια μηνύματα και channels έχει διαβάσει ένας χρήστης.

Η Go εμφάνιζε latency spikes κατά διαστήματα, τα οποία οφείλονταν στο garbage collection. H Rust δεν κάνει garbage collection και κάνει πολύ καλύτερη διαχείριση της μνήμης. Οπότε με την χρήση της Rust δεν υπήρχαν πλέον τα latency spikes.

Με βάση αυτά τα πλεονεκτήματα, το Discord ξαναγράφει τα services του σε Rust. Μπορείτε να διαβάσετε ολόκληρο το post, με το σκεπτικό της “μετανάστευσης”.

Write your comment

rocean (at) error.gr
rocean
error.gr
feed