V8 Alternatives

Similar projects and alternatives to V8

  • GitHub repo Duktape

    V8 VS Duktape

    Duktape - embeddable Javascript engine with a focus on portability and compact footprint

  • GitHub repo ChakraCore

    V8 VS ChakraCore

    ChakraCore is an open source Javascript engine with a C API. [Moved to: https://github.com/chakra-core/ChakraCore] (by Microsoft)

  • Nanos

    Run Linux Software Faster and Safer than Linux with Unikernels.

  • GitHub repo Lua

    V8 VS Lua

    Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description. (by LuaDist)

  • GitHub repo ChaiScript

    V8 VS ChaiScript

    Embedded Scripting Language Designed for C++

  • GitHub repo V7

    V8 VS V7

    Embedded JavaScript engine for C/C++

  • GitHub repo Cython

    V8 VS Cython

    The most widely used Python to C compiler

  • Scout APM

    Scout APM: A developer's best friend. Try free for 14-days. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.

  • GitHub repo Flutter

    V8 VS Flutter

    Flutter makes it easy and fast to build beautiful apps for mobile and beyond

  • GitHub repo Wren

    V8 VS Wren

    The Wren Programming Language. Wren is a small, fast, class-based concurrent scripting language.

  • GitHub repo deno

    V8 VS deno

    A secure JavaScript and TypeScript runtime

  • GitHub repo esbuild

    V8 VS esbuild

    An extremely fast JavaScript bundler and minifier

  • GitHub repo CppSharp

    V8 VS CppSharp

    Tools and libraries to glue C/C++ APIs to high-level languages

  • GitHub repo JDK

    V8 VS JDK

    JDK main-line development

  • GitHub repo slitter

    V8 VS slitter

    Slitter is a C- and Rust-callable slab allocator implemented primarily in Rust, with some C for performance or to avoid unstable Rust features.

  • GitHub repo temp_librewolf_prefpane

    temporary repository to share librewolf built with the prefpane

  • GitHub repo AOCRust

    V8 VS AOCRust

    Learning Rust by solving the https://adventofcode.com.

  • GitHub repo node

    V8 VS node

    Node.js JavaScript runtime :sparkles::turtle::rocket::sparkles:

  • GitHub repo swc

    V8 VS swc

    swc is a super-fast compiler written in rust; producing widely-supported javascript from modern standards and typescript.

  • GitHub repo pyright

    V8 VS pyright

    Static type checker for Python

  • GitHub repo FreeTube

    V8 VS FreeTube

    An Open Source YouTube app for privacy

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better V8 alternative or higher similarity.

Suggest an alternative to V8

Reviews and mentions

Posts with mentions or reviews of V8. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-16.
  • Best allocating method for my needs?
    I think V8's memory management is here: https://github.com/v8/v8/blob/master/src/heap/heap.h
    Maybe you can look into how other fast VMs are storing their objects, e.g. JVM and V8.
  • Design patterns let you apply existing solutions to your code
    news.ycombinator.com | 2021-10-14
    https://github.com/chromium/chromium/search?q=visitor

    And the list goes on, and on.

    This is true for V8, which underlies NodeJS, and is the engine that powers most modern JavaScript:

    https://github.com/v8/v8/search?q=factory

    V8 was designed by the same engineers who built the Java Virtual Machine, and what techniques did they employ to build this massive piece of software that runs the modern web? Object oriented design, and design patterns.

    It's very probable people designing modern web applications for the FAANGs are not particularly aware of design patterns, or even maybe that MVC is a design pattern even if they are using it. It's possible many design patterns aren't useful for the types of problems they are solving, or could complicate matters if they used them haphazardly.

    But the engine driving every single JavaScript program, is built on top of a behemoth of object oriented, design pattern laden, software, written by FAANG engineers that I promise you understand design patterns extremely well.

    I'm not saying this is the end all, be all, of software design. Or that "modern" functional takes on software design (most functional languages and ideas predate OOP) aren't perfectly valid, or successful. Or even that they couldn't solve many of these problems.

    I'm just contesting any dogmatic rejection of what has actually been one of the most successful branches of software design.

  • How is that i can access Data.now() without even creating a new obj instance of class date like like const newDate = new Date()
    The implementation for Chrome (and browsers based on Chromium like Edge and Brave) is called V8. My c++ reading skills are not very good, but it looks like the Date implementation is around here: https://github.com/v8/v8/tree/master/src/date
  • High-performance garbage collection for C++ V8
    news.ycombinator.com | 2021-09-28
  • Logic of indexing (when your native language is MATLAB)
  • -50M users
    Here is the list of all the major contributors to the V8 engine.
  • Slitter: A slab allocator that trusts, but verifies
    news.ycombinator.com | 2021-08-04
    Well, unfortunately, address space isn't unlimited. In memory experience developing 64-bit wasm engines, the typical approach of reserving 8GB of memory for each wasm memory leads to address space exhaustion after only about 1000 memories (ofc, regardless of how many actual pages those memories use). Therefore for a long living VM that might load and unload hundreds or even thousands of programs, it's really important to clean up those reservations promptly.

    In V8, cleaning up the reservations for Wasm memories is ultimately tied to garbage collection of the JS heap, since JS objects can root memory. That led to the somewhat clunky need to retry allocation in a loop, running a full GC if allocation fails the first few times (https://github.com/v8/v8/blob/master/src/objects/backing-sto...).

  • JVM Anatomy Quark #26: Identity Hash Code
    news.ycombinator.com | 2021-07-20
    Yeah, I know that trick. I implemented an identity hashmap[1] inside of V8 that uses that, because JS objects don't have an identity hash code[2]. It uses the object address as the basis of the hash code, which means the table needs to be reorganized when the GC moves objects, which is done with a post-GC hook. The identity maps in V8 are generally short-lived.

    I am not aware of production JVMs that use this, because in the worst case they can use a lot more memory if a lot of objects end up needing hashcodes.

    [1] https://github.com/v8/v8/blob/dc712da548c7fb433caed56af9a021...

  • The most copied StackOverflow snippet of all time is flawed
    news.ycombinator.com | 2021-06-16
  • V8 engine animation
    Source ;)
  • Who's with me on this one?
    Here, have a link to the github repository for it. https://github.com/v8/v8/tree/master/src/interpreter
  • JavaScript Tooling Not in JavaScript
    news.ycombinator.com | 2021-04-20
    Probably all tests, the `src` folder containing the core NodeJS code is at https://github.com/nodejs/node/tree/master/src. Also keep in mind it builds on top of V8, which is mostly C++: https://github.com/v8/v8.
  • [AskJS] How does JavaScript generate pseudo-random numbers?
    The JS language specification doesn't specify the implementation of some methods of the Math object, this is up to the JS engines to decide, but it seems most of them (Google's v8, Mozilla's SpiderMonkey and Safari's engine) use XorShift128 Here's the definition in the header file in v8's source: https://github.com/v8/v8/blob/master/src/base/utils/random-number-generator.h#L119
    V8 uses xorshift128+ https://github.com/v8/v8/blob/master/src/base/utils/random-number-generator.h#L119

Stats

Basic V8 repo stats
26
18,448
9.2
2 months ago

v8/v8 is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
Find remote C++ jobs at our new job board 99remotejobs.com. There is 1 new remote job listed recently.
Are you hiring? Post a new remote job listing for free.