antfarm VS RustTokioBenchmark

Compare antfarm vs RustTokioBenchmark and see what are their differences.

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
antfarm RustTokioBenchmark
3 1
3 0
- -
2.2 2.7
almost 1 year ago 21 days ago
TypeScript Rust
- MIT License
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.

antfarm

Posts with mentions or reviews of antfarm. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-26.
  • 3 years of fulltime Rust game development, and why we're leaving Rust behind
    21 projects | news.ycombinator.com | 26 Apr 2024
    I've experienced a lot of these concerns while building https://github.com/MeoMix/symbiants

    I have a simple question that maybe someone smarter than me can answer confidently:

    If I want to build something akin to Dwarf Fortress (in terms of simulation complexity) as a browser-first experience - what stack should I choose?

    Originally, I prototyped something out using React, PixiJS, and ReactPixi (https://github.com/MeoMix/antfarm). The two main issues I ran into were the performance of React's reconciler processing tens of thousands of entities when most weren't changing (despite heavy memoization) and GC lurching due to excess object allocations. My takeaway was that if I wanted to continue writing in JS/TS that I would need to write non-idiomatic code to avoid excess allocations and abandon React. This approach would result in me effectively creating my own engine to manage state.

    I decided to not go that direction. I chose Rust because no GC is a language feature (especially good since GCs in WASM are heavy) and I chose Bevy because it seemed like a fairly structured way to mutate a large amount of code.

    Progress has been slow for a lot of the reasons listed in this article. I've written a lot of this off to WASM being a new frontier for game dev and rationalized it by noting there's not a lot of complex simulation games running in browser (that I'm aware of). It's not clear to me if that's actually true, though.

  • Ask HN: Good resources for architecting simulation games?
    1 project | news.ycombinator.com | 5 Sep 2022
    I recently made an attempt at building a simulation game. I found it challenging even though I'm a seasoned software developer. I was finding that my experience in building out web apps, dashboards, and crud stacks didn't immediately lend itself to architecting a game properly. It feels like everything is business logic and it has been tough to see ways to tease out and modularize concepts. I don't know if I am making good trade-offs w.r.t performance and immutability. I find myself copying an entire "world" structure with every loop in an attempt to represent the world immutably, but I also seem to need to process changes serially as entities interact with one another inside the world. It doesn't matter that the world is immutable, I can't easily parallelize the simulation. Perhaps immutability is only making things harder, then?

    I'm not too concerned about graphics or 3D math. I'm working in a 2D space with the most amateur of graphics. I'm interested in having some looming trade-offs pointed out to me so that I can make decisions with my architecture to best receive those trade-offs. I'm interested in design patterns that allow me to modularly enrich the complexity of my simulation.

    If you're curious, https://github.com/MeoMix/antfarm/blob/main/src/util.ts Here is a file that became quite the dumping ground. I am not proud of this code. I had intended to tease out some utility methods which take a world and return a cloned and updated world. It's easy enough to separate out view concepts, and it's easy enough to separate out constructors, but all of the "interesting" simulation logic found its way to this dumping ground.

  • Hi! I'm building a virtual ant farm. This version is so pre-alpha it shouldn't even be live, but, in the interest of shipping first and asking questions later... it is! So, check it out.
    1 project | /r/SideProject | 20 Feb 2022
    open source! https://github.com/MeoMix/antfarm

RustTokioBenchmark

Posts with mentions or reviews of RustTokioBenchmark. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-26.
  • 3 years of fulltime Rust game development, and why we're leaving Rust behind
    21 projects | news.ycombinator.com | 26 Apr 2024
    > If you ever pull up a debugger and step through an async Rust/tokio codebase, you'll get a good sense for what the overhead here we're talking about is.

    So I didn't quite do that, but the overhead was interesting to me anyway, and as I was unable to find existing benchmarks (surely they exist?), I instructed computer to create one for me: https://github.com/eras/RustTokioBenchmark

    On this wee laptop the numbers are 532 vs 6381 cpu cycles when sending a message (one way) from one async thread to another (tokio) or one kernel thread to another (std::mpsc), when limited to one CPU. (It's limited to one CPU as rdtscp numbers are not comparable between different CPUs; I suppose pinning both threads to their own CPUs and actually measuring end-to-end delay would solve that, but this is what I have now.)

    So this was eye-opening to me, as I expected tokio to be even faster! But still, it's 10x as fast as the thread-based method.. Straight up callback would still be a lot faster, of course, but it will affect the way you structure your code.

    Improvements to methodology accepted via pull requests :).