RuntimeCompiledCPlusPlus VS PyDev.Debugger

Compare RuntimeCompiledCPlusPlus vs PyDev.Debugger and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
RuntimeCompiledCPlusPlus PyDev.Debugger
5 2
2,110 408
- -
5.7 7.2
3 months ago 29 days ago
C++ Python
- Eclipse Public License 1.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

RuntimeCompiledCPlusPlus

Posts with mentions or reviews of RuntimeCompiledCPlusPlus. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-08-04.
  • hscpp: An experimental library to hot-reload C++
    4 projects | /r/cpp | 4 Aug 2022
    hscpp (Hotswap C++) is an experimental library I created which allows you to hot-reload C++. It was heavily inspired by Runtime Compiled C++, and works by linking DLLs into your project at runtime.
  • Continue with Javascript or switch to C++
    3 projects | /r/gamedev | 23 Apr 2022
    The only recent attempt to make something like this practical, as far as I know, was RCCpp. Going by the GH activity, it looks like it kind of went nowhere.
  • I want to make my game a dll that can use functions from my engine exe
    3 projects | /r/gamedev | 4 Mar 2022
    FYI I maintain a list of runtime compiled C++ approaches on this wiki: https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledCPlusPlus/wiki/Alternatives
  • Reloadr – Hot code reloading tool for Python
    15 projects | news.ycombinator.com | 5 Feb 2021
    There is https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledC...

    The idea is to use virtual functions, and recompile new classes into a shared library. The shared lib is linked into the running program, and old instances of the classes are deleted and replaced by new instances constructed from the share library.

    I am working on a library using the same (stolen) idea here:

    https://github.com/jheruty/hscpp

    Proof of concept demo:

    https://m.youtube.com/watch?v=pjGngeKgni8

    hscpp is still very alpha, and I’m sure I’ll find lots of bugs as I work on a “real” demo. In contrast, Runtime Compiled C++ is quite mature and is used in real game projects.

    Note that this approach very much limits your architecture. For example, you won’t be able to use statics, as the newly compiled shared libraries won’t see them.

    It’s a finicky thing, worth it to me, but not something you can just plop in to an established project.

  • Quine or self reproducing program written using C language
    1 project | /r/programming | 22 Dec 2020
    Well of course it's possible to generate executable code at runtime in C++ since clang itself is written in C++, but it's definitely a much larger undertaking, but there's two such efforts I know of, Cling and RuntimeCompiledCPlusPlus.

PyDev.Debugger

Posts with mentions or reviews of PyDev.Debugger. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-02-05.
  • Why is debugging so difficult in Docker containers ?
    1 project | /r/docker | 20 Sep 2021
    [1] https://github.com/fabioz/PyDev.Debugger/
  • Reloadr – Hot code reloading tool for Python
    15 projects | news.ycombinator.com | 5 Feb 2021
    Ha, I'm just working on integrating the `pydev.debugger` code reloading into `debugpy` (so that the code reloading from the PyDev debugger will be available for Python-VSCode debugger users too).

    The in-memory reloading (which may be seen at: https://github.com/fabioz/PyDev.Debugger/blob/main/_pydevd_b...) unfortunately doesn't work all the time (fixing the references at runtime in Python is difficult), but it works well enough for the cases where you have a simple function and change it (that file does explain some of the issues that the reloading faces).

    One major issue is that after doing the reload, you need to get out of the function and then back into it to see the difference -- so, if you're stopped in the function in a breakpoint, it's not possible to simply drop the function and restart it as Python itself doesn't support that... maybe that's a good idea for a PEP ;)

    Anyways, when it works, it's pretty nice in that you don't have to restart your whole debug session to see changes (the other approach, which webservers use in general is just restart the whole process, so, for instance, Django has an initial process just monitoring for changes and a 2nd process which is actually serving requests which is restarted when something changes -- not as good if you have a heavy startup or are working with something where you have to click through multiple things to get to the state which you want).

What are some alternatives?

When comparing RuntimeCompiledCPlusPlus and PyDev.Debugger you can also consider the following projects:

jurigged - Hot reloading for Python

ipdb - Integration of IPython pdb

ipython - Official repository for IPython itself. Other repos in the IPython organization contain things like the website, documentation builds, etc.

Revise.jl - Automatically update function definitions in a running Julia session

reloadr - Hot code reloading tool for Python

PythonHotswap - Hotswap Python functions. And persistence of runtime.

OpenCL_Wrapper_By_PunalManalan - Lightweight, Easy to use OpenCL Wrapper By Punal Manalan. 'OCLW_P::OpenCLWrapper' This Single line of code does Everything In a Compact And Easy to Manage Manner!. Use this code wherever and whenever you want to!

cr - cr.h: A Simple C Hot Reload Header-only Library

pyqtboiler - PyQt application boilerplate for rapid development