Attachments:

Our product uses <year>.<day-of-year>.<build-that-day> for version/build numbers – so the first build done today would be 2017.222.1, next build today would be 2017.222.2 – that works well for us for identifying individual builds for testing etc – but not ever build gets released and for public releases we still use Product 4.3, Product 4.4, Product 5.0 etc so that the marketing department has an annual release to rally around.

But I have to say that these days I’m a big fan of “just put the number up by one each time you put out a release” approach used by Chrome (though I know they don’t quite stick to that for small bug fixes).

It would make it tricky (impossible?) for a marketing department to delineate “here’s this years big release that customers need to pay for” (which is why we don’t use it for our product), but if you have a free, continually evolving product then as a user I like that simplicity.

But I’m not complaining as such about the Monkey 2 compile times – I’m well aware that C++ compilation is slow – just thought that the OP should be aware that sub-second compiles aren’t going to happen with sizeable M2 projects 🙂

I’m finding Monkey 2 is quite slow to build to the Desktop target (I can’t build to Emscripten as I use Fibers in a few places).

My project is currently ~9000 lines of code (~13800 lines total, including blank lines and comments) and a first build takes around 80 seconds, with subsequent builds taking around 40 seconds on an i7-4800MQ with 32GB ram on 64-bit Windows 7.

I’m tying to simplify my unit test framework by dynamically finding test methods (rather than having to add them to a list). I did this in Monkey 1 by looking for classes that implement an ITestable interface, then looking in those classes for parameterless methods that start or end with “Test”. Was trying to replicate this now that M2 has reflection, but stumbling on the interface check.

I’m changing my code to use tinyxml, but if I declare List<XMLNode> or Stack<XMLNode> I get:

Monkey

1

2

3

4

5

6

C:/Documents/Development Projects/Monkey2/Dungeon/dungeon.buildv1.0.6/windows_debug/include/dungeon_std_collections_2container.h:18:8:error:'t_std_collections_IContainer_1Ttinyxml2' has not been declared

Currently this only works in v1.0.5 if I put the following in the module’s linq.monkey2 file (which forces it to include some of the linq code, but not all of it), otherwise the linq code is all optimized out.

Archives

Archives

Recent Replies

Warning: Cannot modify header information - headers already sent by (output started at /home/monkey2monkeyx/public_html/wp-includes/class.wp-styles.php:242) in /home/monkey2monkeyx/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_wp.class.php on line 220$100 Bounty: MX2 Running on Samsung's Linux on Dex

Warning: Cannot modify header information - headers already sent by (output started at /home/monkey2monkeyx/public_html/wp-includes/class.wp-styles.php:242) in /home/monkey2monkeyx/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_wp.class.php on line 220Need Monkey2 logos as .SVG

Warning: Cannot modify header information - headers already sent by (output started at /home/monkey2monkeyx/public_html/wp-includes/class.wp-styles.php:242) in /home/monkey2monkeyx/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_wp.class.php on line 220Viva Mortis

Warning: Cannot modify header information - headers already sent by (output started at /home/monkey2monkeyx/public_html/wp-includes/class.wp-styles.php:242) in /home/monkey2monkeyx/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_wp.class.php on line 220Viva Mortis

Warning: Cannot modify header information - headers already sent by (output started at /home/monkey2monkeyx/public_html/wp-includes/class.wp-styles.php:242) in /home/monkey2monkeyx/public_html/wp-content/plugins/crayon-syntax-highlighter/crayon_wp.class.php on line 220Viva Mortis

What is this?

Monkey2 is an easy to use, cross platform, games oriented programming language from Blitz Research.