VB на 93,7% быстрее, чем C. Если , вы выбираете правильный сценарий.
На самом деле, если ваш «родной C» включает в себя регулярные вызовы malloc () и free (), любой язык сбора мусора, такой как VB.Net, будет буквально кружить вокруг него. GC может быть в 10 раз быстрее, чем mallocs во внутренних циклах.
Если вы ломаете и используете C, попробуйте повторно использовать структуры, которые вы объявили только один раз, вместо создания новых, чтобы избежать этой проблемы. Это может быть полезно даже в VB, если ваше решение поддается ему. Однако его будет сложнее запрограммировать, и GC будет очень быстрым.
Что касается проверок границ / переполнения, если скорость важна и тестирование показало, что они не происходят, и вы не рискуете жизнью или миллионами из-за ошибки или аварийного завершения, это пустая трата времени. Но если вы не можете от них избавиться, ваше время, вероятно, еще более ценно на языке, на котором вы можете программировать быстрее.
Если вы ожидаете серьезного размера и использования, стоит разделить задачу с помощью управляющей программы и сохранить выделенные «определения задач» в общем каталоге с файлом для решателя задач или в базе данных. Затем вы можете запустить решатель для каждого процессора (2 для процессора HT) или сетевых компьютеров. Быть усталым от структур очереди - сложно атомарно «пометить-и-получить-данные-если-не забрать». Вы знаете, сколько решателей задач вы собираетесь запустить. Я сделал это с помощью разработанной мной утилиты обработки изображений, это оказалось намного проще, чем ожидалось, и это создало предыдущую версию. Кроме того, если вы используете несколько процессов с правильно разделяемой проблемной областью, вы избегаете незначительного или значительного бремени программирования многопоточности. Или убедить коллег в том, что ваши скобы находятся в нужном месте. Мир.