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

paper: Adding Statement of Need #107

Open
wants to merge 2 commits into
base: paper
Choose a base branch
from
Open

Conversation

adamamer20
Copy link
Collaborator

@adamamer20 adamamer20 commented Oct 1, 2024

This pull request adds the statement of need to the JOSS paper for the mesa-frames extension.
I specified Ibis instead of Polars and Pandas since we are transitioning.
Partially addresses #90.

@adamamer20 adamamer20 self-assigned this Oct 1, 2024
@adamamer20 adamamer20 changed the base branch from main to paper October 1, 2024 17:00
[@gaia] by students and experts alike.
`mesa-frames` is an extension to the `mesa` [@python-mesa-2020] agent-based modeling framework in Python, designed to enhance performance and scalability for complex simulations involving millions of agents.

`mesa` has become the most widely used framework for agent-based modeling in Python thanks to its easy-to-use API and object-oriented philosophy. However, iterating through each agent's behavior becomes computationally expensive when the number of agents reaches thousands [@app13010013]. This has led to the development of other frameworks like `Agents.jl` [@Agents.jl], which requires developing in another language, Julia. mesa-frames aims to achieve performance similar to that of `Agents.jl` (NOTE: this needs to be proved) but with a simpler Python syntax.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked https://arxiv.org/pdf/2101.10072, and there was no evidence that Agents.jl was a reaction to Mesa being slow. Additionally, in the paper:

From our perspective, the biggest take-away of this paper is that Agents.jl is a framework that is simple to use, requiring small amount of written code from the user and overall easy to learn. Despite this, our comparison shows that Agents.jl always exceeds other frameworks in performance, and often also in capability

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right there's no consequence of Agents.jl being born out of mesa's speed. I just wanted to remark that the performance of mesa-frames is similar to the one of Agents.jl but the code is in Python.
Maybe it's better to leave out Agents.jl completely?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Concrete benchmark comparison with Agents.jl is still worth it. They have the official benchmark repo.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is very useful. Before implementing the models needed for the benchmark, I would reimplement mesa-frames in Ibis.

@adamamer20 adamamer20 added the paper Updates or changes related to JOSS paper label Oct 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
paper Updates or changes related to JOSS paper
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants