Есть опыт компиляции VBScript? - PullRequest
1 голос
/ 28 сентября 2008

У меня есть собственный сценарий VBScript на 2000 строк, который постепенно замедляется при добавлении каждого дополнительного кода. Это было создано как частная помощь отладки и теперь, когда это стало действительно полезным. Я хочу отполировать и отправить его вместе с нашим продуктом.

Я думал, что смогу ускорить его, скомпилировав и превратив в EXE. Кроме того, я хочу иметь пользовательский интерфейс для своего инструмента, что может быть возможно, если я использую дополнительные библиотеки, которые может предоставить мне платформа компиляции. Я также рассматриваю возможность расширения скрипта путем вызова функций Win32 для любых недостающих функций, которые мне требуются.

У меня VB 6.0 или я могу купить внешний компилятор. Но мне также нужно, чтобы созданная программа (а не сам компилятор) нормально работала в Windows Vista. Каковы мои лучшие варианты?

Ответы [ 4 ]

4 голосов
/ 28 сентября 2008

Возможно, медлительность не только в том, что она интерпретируется. Вероятно, вы можете внести в него различные оптимизации, чтобы сделать его быстрее. Попробуйте найти, какие части кода замедляют его больше всего, и попытайтесь ускорить их.

В зависимости от того, что код делает VB6 может быть хорошо. Если он будет иметь дело с естественным текстом / именами файлов, то было бы лучше использовать VB.net, потому что VB6 плохо поддерживает Unicode.

Но у меня такое ощущение, что даже после компиляции он все еще может быть медленным, потому что компиляция только сделает его более быстрым, но не более эффективным.

4 голосов
/ 28 сентября 2008

Я бы порекомендовал скачать Visual Basic Express Edition (http://www.microsoft.com/express/vb/) и перенести ваш инструмент на VB.Net. Однако у этого подхода есть один недостаток - ваша программа будет зависеть от .Net. По большей части это не должно Это не большая проблема, так как в настоящее время большинство машин должны иметь .Net 2.0, но лучше об этом помнить.

Я бы держался подальше от VB6.0; однако, кроме VB.Net, я не знаю других хороших базовых компиляторов, которые вы могли бы использовать.

3 голосов
/ 04 июня 2009

Ну ... есть ряд "хороших" базовых компиляторов:

- это те, которые приходят на ум немедленно. Многие из них перечислены на сайте mindteq . (Jabaco особенно интересен - VB6 повторно выражен в Java. Я возился с ним, и это выглядит очень многообещающе!)

Но, возвращаясь к компиляторам VBScript, они существуют ... вроде. Что они делают, так это маркируют код и помещают вокруг него какую-то оболочку. Будут ли они работать быстрее, это спорный вопрос.

0 голосов
/ 13 марта 2009

Трудно сказать, не зная больше о том, что делает программа или сколько данных она обрабатывает.

Я согласен с Franci - VB6 больше не продается и не поддерживается, так что VB.Net будет подходить для скомпилированного кода. (Express бесплатен.) VBScript не очень похож на VB.Net, так что это может быть хорошей работой для переноса, если это не все запросы WMI или LDAP или что-то в этом роде.

Я бы начал рассчитывать время, чтобы увидеть, где ваши узкие места. Если вы не выполняете кучу циклических и многоуровневых вызовов функций, вы, вероятно, застряли во внешних вызовах.

wscript.echo "Begin: " & Time
tStartTime = Timer
'... do stuff ...
tStopTime = Timer
wscript.echo "Elapsed time: " & tStopTime - tStartTime

Приветствия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...