• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!

WurstScript compared to vJass

Status
Not open for further replies.
Level 19
Joined
Aug 8, 2007
Messages
2,765
I've allready coded a bit wurst in eclipse, but does wurst have any performance advantages to vjass?

no, thats impossible because theyre both converted to jass :\ its just the coder's style of writing

but dont forget minimal readability, unfollowable code, restriction to ONLY wurst script coders, and rejection of all hive-submitted resources

Easy to use if you know java

*zinc*
 
Level 7
Joined
Jan 30, 2011
Messages
267
it IS possible that it has better performance than vjass, because i dont know how exactly it realizes things like classes, maybe there are little differences
tried to look at the converted code but didnt manage to deactivate the optimizer >.<
 
Level 7
Joined
Jan 30, 2011
Messages
267
you dont understand what i mean
in vJass for example a struct generates some background code and afaik you can create an a very little bit faster allocator if you do it urself
thats what i mean with performance advantages
 
Level 26
Joined
Aug 18, 2009
Messages
4,097
It cannot be faster than pure, precise jass but you have to consider that those higher languages were invented to enable greater development, allowing the practice of bigger maps. In order to do so, common scripting techniques are pushed (simplified). This may create overhead or obstruct other ways. The point of 69stehend is that e.g. struct variable members in one language could be realized via hashtable entries instead of global variables, increasing the object capacity but slowing down the performance. If you were to differentiate this in the special case to match your scenario, then simplification of the language gets lost. There are opposed interests. Also, a good language/compiler offers optimizations that dismantle the development-dependent advantages again to boost performance.
 
Level 14
Joined
Jun 27, 2008
Messages
1,325
is wurst also recycling objects via linked list?

yes
no it is impossible, the code is converted to jass else warcraft can't run it
It cannot be faster than pure, precise jass

ofc thats true, but Wurst has some really cool features like Dynamic Dispatch that is done using nested if/else (=> O(log(n)) complexity) which is really really really fast. You can do the same in Jass/vJass but the code would be unbearable, so to achieve the same thing in jass you would need to find a trade of acceptable code and acceptable performance.
This just as an example.

Just keep in mind that performance isnt the only criterion for good code. In my experience the most mapping projects fail because the makers quit, not because the performance of the map is too low. Wurst helps with this point, you get easier readable and easier managable code that is faster to code. You might say Wurst hides the ugly parts of triggering from you and lets you focus on what you really want to do ;)

Another HUGE advantage is the amazing optimizer (Froptimizer). Check the project in my Signature, in some cases the Froptimizer increased the FPS by 20. (Its an extreme example because the whole code is basically a huge loop with a shitload of calculations tho)
 
Level 23
Joined
Jan 1, 2009
Messages
1,610
what are the basical advantages of wurst compared to vjass?
what are the advantages of vjass?
vJass' generated scriptfile will be smaller and the code "theoretically" slightly faster.
Wurst offers way more comfort, a strictly typed, oop-concept which is way easier to learn, especially if you know any other programming language since the syntax is very common.
Wurst aims for an easy, stress-free development workflow, allowing the creation of maps in a relativity short time without much hassle. Common mistakes are being avoided and or checked at gametime(nullpointer e.g.).

I shouldn't really have to elborate - you can read all that in the manual.
If you want support, finished docs and stuff you have to wait for the release - there is a reason for Wurst not being released yet.
 
Last edited:
Level 19
Joined
Aug 8, 2007
Messages
2,765
*Sigh*

If you think Wurst is less readable than vjass, you sure have no idea and a tunnel vision on wc3 development.



What is that supposed to mean? WurstScript simply isn't public yet. We use it ourselves and let ppl that wanted to use it, use it.



No? WurstScript simply doesn't parse vJass, for obvious reasons.

Also, if you think developing with an outside IDE that provides tons of features the TriggerEditor even with TESH can't, you again, have a faulty vision.


vJass' generated scriptfile will be smaller and the code "theoretically" slightly faster.
Wurst offers way more comfort, a strictly typed, oop-concept which is way easier to learn, especially if you know any other programming language since the syntax is very common.
Wurst aims for an easy, stress-free development workflow, allowing the creation of maps in a relativity short time without much hassle. Common mistakes are being avoided and or checked at gametime(nullpointer e.g.).

I shouldn't really have to elborate - you can read all that in the manual.
If you want support, finished docs and stuff you have to wait for the release - there is a reason for Wurst not being released yet.

your 3 weeks too late im a wurst supporter now.
 
Level 8
Joined
Nov 20, 2011
Messages
202
I can't tell much about the performance of wurst compared to vJass, but i use wurst now for around three months and compared to Jass/vJass the workflow is MUCH better. The Eclipse plugin gives you so much opportunities, this is just awsome!
For example, we use in our project Dropbox and Eclipse together and got a shared workspace: So if someone got a problem with his code anybody can edit and save it and he just needs to press F5 and test if it works.
 
Level 23
Joined
Jan 1, 2009
Messages
1,610
your 3 weeks too late im a wurst supporter now.
Alright :p
I can't tell much about the performance of wurst compared to vJass, but i use wurst now for around three months and compared to Jass/vJass the workflow is MUCH better. The Eclipse plugin gives you so much opportunities, this is just awsome!
For example, we use in our project Dropbox and Eclipse together and got a shared workspace: So if someone got a problem with his code anybody can edit and save it and he just needs to press F5 and test if it works.

A better and cleaner way would be to use repositories (https://github.com/) which allow different commits, codemerging, many contributors and pull-requests.
 
Status
Not open for further replies.
Top