Giter VIP home page Giter VIP logo

Comments (3)

francois avatar francois commented on May 22, 2024

Yup! I'm aware of this. In the code that is on https://mindcode.herokuapp.com/, I had to disable the optimizer. I remove it in 1c6afb3. I'm in the process of writing a better optimizer pipeline, and it is nearly ready. I don't want the new optimizer to generate more bugs than the old one!

The 1000 instructions limit of Mindustry Logic is something I encountered a short while ago. I need to make some tests: is it 1000 or 1024 lines? I wouldn't be surprised if it was the latter (2**10). I still want to give a warning to the developer about the problem, so they know they need to split their logic into multiple, independent, processors.

I won't promise when the new optimizer pipeline will be on main / production, but it shouldn't be too long. Pretty sure it'll be there this weekend, at the latest.

Anyway, thanks for taking the time to report all those bugs and misfeatures. I really appreciate you doing this.

from mindcode.

schittli avatar schittli commented on May 22, 2024

Good evening @francois ,
I'm very glad, that it doesn't annoy you... ufff :-)

In Mindustry 126.2 (actually the lastest release) it just imports max. 1000 lines from the clipboard, I have tested it :-)

By the way, this limit is independent of the used Mindustry Processor ('Micro Processor', 'Logic Processor' or 'Hyper Processor')

It's great to hear you have an optimiser pipeline.
I'm just realising that it's quite tricky to test if the generated code is correct....

It's sad that the Mindustry logic doesn't have string functions, otherwise it might be an elegant idea to test the optimiser this way, by having the code generate strings for each test, which you can then quickly compare to the expected result:

expected result : abcdef
optimised result: abdefc

Maybe it is too simplistic...

from mindcode.

francois avatar francois commented on May 22, 2024

Your idea is sound, but the tests would have to be done manually, unfortunately. But still, it's something that could work. I'll have to think more about this.

1000 instructions... ouch. The script is 348 lines, unoptimized. When I run the same script through the optimization pipeline here, I can achieve a 60% reduction in the number of instructions; from 383 down to 235, or a nearly 40% reduction. The longer the script, and the more advanced features it uses, the more optimizations have a chance to kick in. Soon!

from mindcode.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.