Без заголовка
Вопрос про разгон с глобальными переменными стоит в issue к версии 1.0 (как ещё куча разных подобных вопросов). Как я понимаю, там до конца тормоза в этом месте не удаввят, но существенно поведение улучшат.
По вопросу числомолотилок на Julia не соглашусь -- достаточно посмотреть, что и кто на нём пишет. Помним, что Julia не заявлялась как язык со скоростью машинного кода. Julia заявлялась, как язык, на котором писать код можно с удобством и скоростью написания кода на Питоне, а исполнять этот код -- со скоростью кода, написанного на Си. Новички, конечно, сначала нарываются на то, что не могут писать код как на Питоне (но потом вдруг оказывается, что скорость освоения языка оказывается примерно такой же), а потом что код получается существенно медленней Си, хотя и в разы быстрее Питона, но потом тоже оказывается, что они просто не заглядывали в раздел документации, где приводятся рекомендации по скорости. Главная же фича, так это что multiple dispatch там дешёвый в плане скорости.
Ещё нужно учесть, что в Julia есть несколько разных планов добавления оптимизации, а часть этих планов даже выполнена (скажем, распараллеливатель на многоядерные интеловские процессоры, сделанный силами самой Intel).
Конечно, по ходу разработки языка (и компилятора) какие-то оптимизации разваливаются, а какие-то новые появляются. Так что после выхода каждой версии ситуация со скоростью существенно меняется. Так, в версии 0.5 можно отключать контроль выхода за границы массива (что поможет существенно добавить в скорости для этих случаев), но в версии 1.0 планируется переписать и массивы, и строки -- так что опять можно будет ожидать сюрпризов, люди уже тихо радуются ускорению в 0.5 (и нужно учесть, что команда ведёт постоянное регрессионное тестирование в части скорости, так что пытается чинить случайно ломаемые оптимизации).