@rdagger @charliecl
Sorry for late reply, I was offsite for last days.
I can confirm, that the first time installation (meteor --version
) as well as the first time build (meteor create --example todos
) take long time on a PI. But this does NOT AFFECT the overall runtime performance.
Just to give you a note what happens on an ARM board when using meteor after fresh clone. You have to build ALL bundles and packages on the ARM device because they are not yet pre-build from MDG nor from me (See ticket https://github.com/meteor/meteor/issues/5307 I am still working on). The thing is, that ARM is a new architecture which is not supported directly by MDG with pre-build binary codes. So in that case it takes so much longer for the first time instead of a x86 system. If you would use a clean checkout on a x86 and build the packages yourself, the first time build will raise time too (but not so much in case of the more performant board).
However, you NEED at least to create your runtime build on an ARM board, otherwise the binaries will not be useable. Depending on used packages, you can’t run a meteor deploy --directory myapp
on a x86 and run that on your PI. You still need to do this once on the PI or an ARM architecture.
Our working process is as follows: Develop main software on our developers systems like MacBook etc. which is independently from the ARM board or device controlling. If we just want to build for the ARM devices, we have an account on Scaleway which gives us cheap access to fast ARM boards. We make our builds on that devices and then just deploy the content of tar/directory. That will just be started by node main.js
and is up in seconds.
Sometimes we need to accept the pain when developing hardware depended stuff on the boards. In case that we are mostly using UDOO and ODROID boards there are not too slow and from my personal opinion, to have the ability to run your meteor processes on a PI, it is acceptable too.
Hope that gives you some better understanding.
We are running several apps now on ARM boards and haven’t any issues when running the production apps. Our customers are still happy and fine.
Cheers
Tom
P.S: I suggest to run the bundle node and mongodb from within the dev_bundle. You do not need to install some other system packages for that.
Just use /your-checkout-path/dev_bundle/mongodb/bin/mongod
for the mongo daemon and /your-checkout-path/dev_bundle/bin/node
to run your app.
So you also use compatible versions of the tools.