Сейчас 2013 год. Считается, что Visual Basic v.6.0 уже практически изжил себя, но это не так.
К примеру, есть были исследования о распространенности языков Basic в мире. Пока держится... А также в 2004 году появился бесплатный язык FreeBASIC, о нем читайте в Википедии. Да, я защищаю VB6. И не смотрите на меня так. Он у меня был первым в жизни; и с самым удобным синтаксисом, на мой взгляд (который перенял LotusScript, например). Но я отвлекся. Компилятор в VB6 имеет уже все правильно выставленные параметры, направленные на скорость. Почти. На вкладке "Advanced Options" стоит отметить несколько пунктов. Все они ориентированы на быстродействие, и выигрыш ощутим; однако, есть тонкости. Расположил в сторону уменьшения безопасности их использования: - Remove Safe Pentium FDIV Checks: выключает генерацию кода, избавляющего от ошибок деления с плавающей запятой на старых процессорах Pentium (они остались разве что в музеях); - Remove Array Bounds Checks: отключает проверку выхода за пределы индексов массивов. Если программа работает без ошибок "subscript out of range" - проблем не возникнет; иначе - возьмутся данные из ячейки памяти, не имеющей к массиву никакого отношения (без каких-либо уведомлений); - Remove Integer-Overvlow Checks: отключает ошибку переполнения типов Byte, Integer, Long и Currency. Если программа работает без ошибок "overflow" - проблем не возникнет; иначе - возьмутся неверные данные (без каких-либо уведомлений); - Assume No Aliasing: компилятор считает, что в программе не используются псевдонимы. Если все параметры в функциях программы передаются ByVal, а не ByRef - можно смело включать. Иначе - с осторожностью. У меня к этому параметру нареканий не было, даже при использовании ByRef к массивам с 200-тысячными индексами; - Remove Floating-Point Error Checks: отключить проверку вычислений данных с типами Single и Double (переполнение, деление на ноль и прочие недопустимые операции); - Allow Unrounded Floating-point Operations: включение сравнения результата вычислений с плавающей запятой без предварительного округления этих результатов к правильной точности (Single и Double). Повышается скорость вычислений, но при этом может оказаться так, что 2 значения с плавающей точкой будут не равны между собой из-за повышения точности вычисления. Первый пункт можно включать всегда. Второй и третий - если хорошо написан код, и программа отлажена до включения этих опций. Четвертый - по желанию, но с тщательным тестированием после включения. Последние 2 пункта я бы не рекомендовал вообще никогда не включать: больно непредсказуемы. |