Григории Петров (Evrone). Почему Python и Ruby медленные

Всего двадцать лет назад мир был простой и понятный. Python, Ruby и PHP были «скриптовыми», «интерпретируемыми» языками. А C и Java «компилируемыми, поэтому в сотни раз быстрее». А сейчас, в 2022 году, «задача четырех тел» решается на C всего лишь в два раза быстрее, чем на JavaScript. Но все так же в сотни раз быстрее, чем на Python или Ruby. Звучит несправедливо, и есть много хороших докладов, отвечающих на вопрос «что делать» и как обмазать все PyPy, Numba и Cython. Я же расскажу о том, «кто виноват»: про компиляторы, байткод, ceval.c, виртуальные машины, JIT, нативные расширения и всё то, из-за чего мы слышим аргумент «Python и Ruby медленные» даже в тех случаях, когда это не так.
Back to Top