vJASS typically isn't used for performance, but rather convenience. For example, if you want to make globals in JASS, you have to open up the globals editor, go through a bunch of dialogs to set the type, the name, etc. and then you have to put "udg_" in front of every variable when you use it. With vJASS, it is as simple as:
JASS:
globals
string hello = "Hello World!"
endglobals
That will make a string variable named
hello, initialized to "Hello World!". That is just one example of the many, many conveniences that are brought about through using vJASS. Even though each feature has its complex subtleties, most of them have simple purposes at heart. You'll often see
library
,
globals
,
private
, and
struct
used the most.
Feel free to take a look at the manual
here. Don't think of it as something you have to read all the way through and memorize every feature--you'll probably only need to use a few features for 90% of your code. You'll come to find the other features useful over time, usually through rereads of the manual or seeing other people use those features in
their code.
At the end of the day, vJASS is compiled into regular JASS. Every bit of it. Same functions, same syntax, etc. So you can't expect much performance boost. A lot of people will make the argument that vJASS is faster because of structs, but that assumes that you would've been using hashtables in regular JASS. You
could implement structs manually in regular JASS and get the same speed, it'd just be painful as hell. Ultimately, use vJASS to write cleaner, more maintainable code.