Я рекомендую Promise.all
, он разрешит одно Обещание после того, как все обещания будут выполнены. И технически асинхронная функция также является обещанием, поэтому она будет возвращать обещание.
вот пример.
Смотрите на это сообщение: Почему компиляция C++ занимает много времени?
Существует два отдельных вопроса для рассмотрения - количество фаз обработки и сложности предназначения.
Типичная компиляция C++ включает много фаз (хотя они могут быть выполнены одновременно), где Препроцессор обрабатывает директивы и макросы, затем сам компилятор C++ обрабатывает получающийся код. Препроцессору довольно свойственно генерировать вывод, который значительно больше, кодируйте это все потребности, которые будут проанализированы и обработаны фактическим компилятором.
Кроме того, имейте в виду, что компилятор C++ будет предназначаться для x86 или x64 машинного языка - обрабатывающий всю оптимизацию впереди и пытающийся лучше всего использовать аппаратные средства, которые действительно не оптимизированы при разработке стиля OO.
Напротив, компилятор C# предназначается для промежуточного языка Microsoft (MSIL), высокоуровневая подобная машинному коду платформа, которая была разработана, чтобы использоваться для разработки OO. Многие конструкции, обеспеченные C#, отображаются непосредственно в инструкции IL, делая компиляцию действительно легкой. Справедливый блок оптимизации и другого действия задерживается до запуска фактической программы, в которой точке это оптимизировано для точной доступной машины.
Поскольку C++ компилирует в машинный код, в то время как C# к байту кодируют. Вы заметили задержку при первом запуске программы.NET. Это - когда код байта получает JITed (скомпилированный в машинный код).
Я думаю, что это, вероятно, из-за ОБЪЕМА парсинга, это должно сделать, а не скорость самого синтаксического анализатора.
C++ обычно использует препроцессор C, который вытягивает в большом количестве из, включают файлы (как другие предположили, и другой вопрос содержит много ответов как он). Это чрезмерно увеличивает размер объема кода для парсинга.
Таким образом, если Вы сравниваете их в целях записать, что синтаксический анализатор... узнает, что у Вас не должно быть .h-стиля, включают файлы :)