Comments (10)
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.
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.
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.
Good idea.
from pokeruby.
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.
make NODEP=1
from pokeruby.
NODEP solves this issue.
from pokeruby.
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.
Not much can be done about that, except for caching the dependencies, possibly.
from pokeruby.
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)
- Fix sound key split tables
- It would be nice to add some tutorials into the Wiki HOT 2
- How do I disassemble Ruby? HOT 5
- Add missing voice macros
- Make gbagfx give some better error messages HOT 4
- ...
- Better ELF support. HOT 1
- Miscellaneous issues. HOT 3
- libgcc.a missing HOT 5
- Enforce required arguments for asm macros. HOT 2
- Proposed TODO: Tool sources should be their own repository(ies) HOT 1
- Identify all sprite/palette tags. HOT 1
- devkitARM install instructions are out of date HOT 2
- Update Discord invite in readme HOT 1
- Merge battle struct and ewram names
- static, extern, etc. handling
- Some build artifacts are not in build/
- Create constant for menu cursor color
- how do you use this to replace the langfiles in a japanese copy with the english langfiles
- Any interest in a Docker build container. For CI or single dev builds.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pokeruby.