Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better embedded system support #87

Closed
marcnicholas opened this issue Dec 5, 2014 · 4 comments
Closed

Better embedded system support #87

marcnicholas opened this issue Dec 5, 2014 · 4 comments

Comments

@marcnicholas
Copy link

I'd love to see better support for embedded/resource constrained systems in terms of a minimal core, dealing with the garbage leave in NPMs (I removed a 20MB profile trace from a popular NPM the other day), and paying attention to those of us trying to run node^d^d^d^d io.js on systems with as little as 64MB of RAM and 400Mhz MIPS CPUs (think Arduino Yun).

@bnoordhuis
Copy link
Member

I'm not sure if there is anything actionable here. Patches that reduce memory consumption without reducing performance are always welcome, of course, but after that it becomes a fine line.

In many places, space is traded for performance, and that is normally preferable because memory is more abundant than CPU time. I imagine that something like a low-memory mode flag would be acceptable iff it doesn't add a lot of additional complexity. Pull requests are welcome!

@rektide
Copy link

rektide commented Dec 5, 2014

http://runtimejs.org/ comes to mind. I'd love to see io.js take it and run with it.

At present, the runtime.js crew have the rather goofy target of only x86 (rightfully pleading they are resource constrained: runtimejs/runtime#27). Unikernel is cool and all, but in terms of people that need bare-metal support, it's definitely MIPS/ARM denizens that have the biggest burningest need. (Maybe projects such as https://github.com/RIOT-OS/RIOT can turn that around some?)

This thread has some details on what needs to go into an platform impl; perhaps a useful reference for anyone interested in a new target for node.

@marcnicholas
Copy link
Author

@bnoordhuis Yes, I was thinking something like a "lowmem" flag.

@rektide I wasn't asking to supplant the OS, although runtime.js is interesting....just provide better hooks for running on smaller footprints :)

@Fishrock123
Copy link
Member

see also: duktape

targos added a commit to targos/node that referenced this issue Apr 30, 2021
Original commit message:

    M86-LTS: [compiler] Fix off-by-one error in kAdditiveSafeInteger

    (cherry picked from commit 798fbcb0a3e5a292fb775c37c19d9fe73bbac17c)

    No-Try: true
    No-Presubmit: true
    No-Tree-Checks: true
    Bug: chromium:1198705
    Change-Id: I6b3ad82754e1ca72701ce57f16c4f085f8c87f77
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2835705
    Auto-Submit: Georg Neis <neis@chromium.org>
    Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
    Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
    Cr-Original-Commit-Position: refs/heads/master@{#74033}
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2850708
    Commit-Queue: Artem Sumaneev <asumaneev@google.com>
    Reviewed-by: Victor-Gabriel Savu <vsavu@google.com>
    Cr-Commit-Position: refs/branch-heads/8.6@{nodejs#87}
    Cr-Branched-From: a64aed2333abf49e494d2a5ce24bbd14fff19f60-refs/heads/8.6.395@{#1}
    Cr-Branched-From: a626bc036236c9bf92ac7b87dc40c9e538b087e3-refs/heads/master@{#69472}

Refs: v8/v8@0024503
targos added a commit to targos/node that referenced this issue May 5, 2021
Original commit message:

    M86-LTS: [compiler] Fix off-by-one error in kAdditiveSafeInteger

    (cherry picked from commit 798fbcb0a3e5a292fb775c37c19d9fe73bbac17c)

    No-Try: true
    No-Presubmit: true
    No-Tree-Checks: true
    Bug: chromium:1198705
    Change-Id: I6b3ad82754e1ca72701ce57f16c4f085f8c87f77
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2835705
    Auto-Submit: Georg Neis <neis@chromium.org>
    Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
    Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
    Cr-Original-Commit-Position: refs/heads/master@{#74033}
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2850708
    Commit-Queue: Artem Sumaneev <asumaneev@google.com>
    Reviewed-by: Victor-Gabriel Savu <vsavu@google.com>
    Cr-Commit-Position: refs/branch-heads/8.6@{nodejs#87}
    Cr-Branched-From: a64aed2333abf49e494d2a5ce24bbd14fff19f60-refs/heads/8.6.395@{#1}
    Cr-Branched-From: a626bc036236c9bf92ac7b87dc40c9e538b087e3-refs/heads/master@{#69472}

Refs: v8/v8@0024503
targos added a commit that referenced this issue May 6, 2021
Original commit message:

    M86-LTS: [compiler] Fix off-by-one error in kAdditiveSafeInteger

    (cherry picked from commit 798fbcb0a3e5a292fb775c37c19d9fe73bbac17c)

    No-Try: true
    No-Presubmit: true
    No-Tree-Checks: true
    Bug: chromium:1198705
    Change-Id: I6b3ad82754e1ca72701ce57f16c4f085f8c87f77
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2835705
    Auto-Submit: Georg Neis <neis@chromium.org>
    Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
    Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
    Cr-Original-Commit-Position: refs/heads/master@{#74033}
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2850708
    Commit-Queue: Artem Sumaneev <asumaneev@google.com>
    Reviewed-by: Victor-Gabriel Savu <vsavu@google.com>
    Cr-Commit-Position: refs/branch-heads/8.6@{#87}
    Cr-Branched-From: a64aed2333abf49e494d2a5ce24bbd14fff19f60-refs/heads/8.6.395@{#1}
    Cr-Branched-From: a626bc036236c9bf92ac7b87dc40c9e538b087e3-refs/heads/master@{#69472}

Refs: v8/v8@0024503

PR-URL: #38481
Reviewed-By: Richard Lau <rlau@redhat.com>
danielleadams pushed a commit that referenced this issue May 8, 2021
Original commit message:

    M86-LTS: [compiler] Fix off-by-one error in kAdditiveSafeInteger

    (cherry picked from commit 798fbcb0a3e5a292fb775c37c19d9fe73bbac17c)

    No-Try: true
    No-Presubmit: true
    No-Tree-Checks: true
    Bug: chromium:1198705
    Change-Id: I6b3ad82754e1ca72701ce57f16c4f085f8c87f77
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2835705
    Auto-Submit: Georg Neis <neis@chromium.org>
    Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
    Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
    Cr-Original-Commit-Position: refs/heads/master@{#74033}
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2850708
    Commit-Queue: Artem Sumaneev <asumaneev@google.com>
    Reviewed-by: Victor-Gabriel Savu <vsavu@google.com>
    Cr-Commit-Position: refs/branch-heads/8.6@{#87}
    Cr-Branched-From: a64aed2333abf49e494d2a5ce24bbd14fff19f60-refs/heads/8.6.395@{#1}
    Cr-Branched-From: a626bc036236c9bf92ac7b87dc40c9e538b087e3-refs/heads/master@{#69472}

Refs: v8/v8@0024503

PR-URL: #38481
Reviewed-By: Richard Lau <rlau@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants