• 2 Posts
  • 18 Comments
Joined 1 year ago
cake
Cake day: July 13th, 2023

help-circle





  • 80avintoRustWho's working on a "smaller Rust"?
    link
    fedilink
    arrow-up
    5
    ·
    1 year ago

    Oh, I agree.

    My worst experiences with Python are related to running multiple processes of which share anything. Rust was far easier in that.

    Looks like interpreted Rust would be my only demand for Rust to shine in prototyping world.



  • 80avintoRustWho's working on a "smaller Rust"?
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    1 year ago

    Not sure if this is what OP is seeking, but I would be fine to have borrow checker removed, replaced with Garbage collector like Go/Python in such a language.

    To build prototypes, I don’t want to fight with borrow checker and neither I care for efficiency much. But I do want the macro system, traits, lazily asynchronous runtime, cargo like package manager, easy build system, etc.

    Rust has so many powerful features, but only because of borrow checker (IMO) we can’t use it for rapid prototyping like Python. With that replaced, this subset of Rust would be something which can be a great contender to Python/Go, etc.










  • I want my devices to run on an OS/framework which allows everything to be scriptable. Data should be visualised using simple/consistent interface.

    There will be events, Actions, variables, data-streams, etc and the operating system should provide easy interface to quickly create new programs which can

    1. Visualize data streams (filterable) using simple interfaces(configurable)
    2. Create scripts which can create custom events or custom actions which are just built upon existing events/actions.

    In such a system, the focus of apps should not be to add fancy interfaces for simple things, but to register new events, actions, data streams, visualizers into the OS and maybe provide new templates to use these additions.


  • Don’t have an objective definition of “Best” but here are few over the top of my head.

    1. Profiled backend’s startup and reduced startup time by ~20-30 times. Issue was we were traversing node_modules folder to scan for API documentation.
    2. Profiled python using cProfiler & snakeviz and optimized dozens of regex calls by simple pre-filtering. Improved performance by ~20 times.
    3. Profiled python using pprofile & qcalgrind (IIRC) to pinpoint a single heavy regex compilation and optimized it by pre-filtering. Improved performance 8-10 times.
    4. Use nodejs streams to do load data from s3, parse as CSV, transform into different structure and save into s3 in a continuous stream. Didn’t measure the performance gains but should be several times atleast. 5… many more, some coming from embedded world and even more drastic & unexpected