Code Monkey home page Code Monkey logo

Comments (10)

RevoSucks avatar RevoSucks commented on May 29, 2024

Specs?

time make -j16 from make clean results in:

real    2m17.331s
user    1m26.897s
sys     4m53.771s

I don't see a "minute delay" when updating pokeruby.

from pokeruby.

 avatar commented on May 29, 2024

It takes around 4 seconds to run make if I haven't made any changes on my machine, after the first time I've run it. It's slower the first time, though.

If you want to modify the code but not any of the graphics, you could consider using a modified makefile that doesn't scan the asm files for dependencies.

from pokeruby.

camthesaxman avatar camthesaxman commented on May 29, 2024

This is on my old Pentium 4 desktop (Yeah, I refuse to let it go). Most of the time is dominated by disk activity from scaninc which seems to recursively scan the .s files every time make is invoked. I've put in a rule in my custom Makefile to build .s files from .c files, so I can type "make src/foo.s" and instantly have it compile foo.c into foo.s with no delay.

from pokeruby.

 avatar commented on May 29, 2024

Good idea.

from pokeruby.

camthesaxman avatar camthesaxman commented on May 29, 2024

I've noticed that even when trying to compile a single C file, for example, make src/wallclock.o VERSION=RUBY, make runs scaninc on all of the .s files in data, even though wallclock.o should not depend on any of those files. Scaninc recursively scans the files, and on a slow hard disk, this can take up to 10 seconds, doing something totally pointless. I don't know enough about make to debug why it's pulling dependencies from there, but nothing in src should depend on anything in data at all.

from pokeruby.

yenatch avatar yenatch commented on May 29, 2024

make NODEP=1

from pokeruby.

 avatar commented on May 29, 2024

NODEP solves this issue.

from pokeruby.

RevoSucks avatar RevoSucks commented on May 29, 2024

NODEP only solves it if you are making changes to just the assembly or programming and not changing any header files. If you are doing anything else, you still need to wait.

from pokeruby.

 avatar commented on May 29, 2024

Not much can be done about that, except for caching the dependencies, possibly.

from pokeruby.

yenatch avatar yenatch commented on May 29, 2024

You still have to stat the files, which isn't exactly fast. Ideally you could listen for filesystem changes (eg linux inotify or windows System.IO.FileSystemWatcher) instead.

from pokeruby.

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.