GithubHelp home page GithubHelp logo

desmod's People

Contributors

alandtse avatar bgmerrell avatar evangelos-vazaios-wdc avatar jpgrayson avatar sytran avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

desmod's Issues

Suggestion: Export classes on the package level

Thanks for the library!
Though I only use Queue and Pool for now, it is really helpful.

However, I would propose to export such classes on the package level.

I do not want to pollute my namespace, as in:

from desmod.queue import Queue

queue = Queue(env)

I do not see immediately from which package this class is.

But it is also a little bit weird to do it this way:

import desmod.queue

queue = desmod.queue.Queue(env)

Why should I write queue twice?

I would propose to extend __init__.py and export classes like Queue on the package level:

from .queue import Queue

Then I can do:

import desmod

queue = desmod.Queue(env)

What are your thoughts?

When events for Container

The GasStation example in both SimPy and desmod could be improved by implementing a "WhenAtMost" event for a SimPy Container. The process _monitor_reservoir currently polls every 10s which is inefficient as it generates and processes many events that are actually unnecessary.

I implemented WhenAtMost (level falls below x), WhenAtLeast (level rises above x) and WhenChange (some get or put event occurred) for Containers in SimSharp and updated the sample accordingly.

Queue difference between when_any and when_new

I don't see a difference between these two events. when_any checks if _self.items: but that always needs to satisfy given that it is called only in _trigger_put after a new item has been enqueued.

Shouldn't when_any also be called in _trigger_get?

Question: any sugguestions on keeping memory usage bounded for multi-factor simulation?

Hi,

My multi-factor simulation involves hundreds of individual simulations, each individual simulation lasts from a few seconds to a few hours. when running with pypy, memory usage of worker threads (subprocesses) increase overtime, it eventually goes beyond my system's memory capacity (32GB) and triggers kernel to kill some work threads.

The figure shows memory usage of worker threads (child0-7) grows over time:

image

CPython doesn't have this memory issue:

image

Point of Component children?

Hello! Loving this library - helping me out with a simulation I'm working on.

What is the point of defining parent/child relationships? Is it only to generate DOT diagrams?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.