2017年2月11日土曜日

Node.jsはエコなのでIoTに適している

Node.jsはエコなのでIoTに非常に適している。
と私は思う。
  • 単一プロセスで非常に少ないメモリで動作する。
    →ページングなどのコストが少ない。
  • 基本的にシングルスレッドなので無駄なコンテキストスイッチが発生しない。
    CPUを食わないので電力消費量が少なく発熱も少なくて済む。小さいデバイスには重要な要素。
  • 通信に強い。特に複数のデバイスとの非同期通信に。
IoTというか小さいデバイスには上記の特徴が有効だ。
更にサーバ側でも...
  • シングルプロセスでも、非常に少ないメモリで、1万~最大6万のデバイスと同時接続が可能。(ポート数の限界まで)
  • シングルスレッドがボトルネックになる場合は複数プロセス(コア数以下)のクラスタで対応できる。
    (複数サーバでの対応とほぼ同じ)
  • サーバ側でも無駄なコンテキストスイッチが非常に少ないためCPUを食わない。電力消費量も少なく熱も出ない。
もちろん C/C++, Go, Rust などの言語にはかなわないと思うけど、Ruby, Python, Perl, PHP, Java, などよりは遥かに Node.js が向いていると思う。