Других способов нет, для написания высокопроизводительного кода, вычислений и быстрых структур данных нужно писать модуль на Си (где память unmanaged) и подключать его к ноде.
Открытый репозиторий, модули часто кравлятся и добавляются во всякие базы, чтобы построить сеть зависимостей npm и визуализировать ее, модули периодически сливаются всякими автоматическими анализаторами, которые оценивают качество кода и потом публикуют где-то в инете сводки о Ваших багах, утечках, говнокоде и вермишели... ни кто их об этом не просит, просто опубликованные модули становятся свободным контентом, их начинают грызть и роботы и просто люди, ничего с этим нельзя сделать, кроме как подымать свой npm репозиторий для приватных модулей или платить npm за закрытые репы.
Кто-то нашел Ваш модуль и добавил в свой проект как зависимость, а он использут тестирование. Вы сможете это проверить, не публикуя новых версий 1-2 дня, а потом обубликовав новую версию сравнить кол-во загрузок.
Производительность, базовый язык js, хорошее API, развитая инфраструктура пакетов npm, возможность местами писать универсальный js код для сервера и клиента, json нативный формат для js, и главное - возможность писать долгоживущие в памяти приложения, которые не запускаются каждый раз для каждого запроса, а находятся в памяти дни и месяцы, а с клиентом общаются вебсокетами, а не гетами.
Поставьте nginx с терминацией HTTPS и за него два своих сервера: win и node.js. Постепенно меняйте маршруты с виндового на свой, когда все перепишете, то решите, нужен ли nginx перед нодой или нет.
Подгружать https и socket.io можно в самом начале, и даже так лучше, чтобы все зависимости были сгруппированы в начале файла. А потом их юзать по ходу дела в любом месте.
Ни чем не плохи, только медленные, как и async. Callback hell быстрее всего, только нужно вокруг группы функций, которые используют общие структуры данных сделать одно замыкание и все готово, и код красивый и все быстро.