https://github.com/JensRantil/steps

A discrete event simulator in Go.

https://github.com/JensRantil/steps

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (5.0%) to scientific vocabulary

Keywords

discrete-event-simulation golang simulation
Last synced: 11 months ago · JSON representation

Repository

A discrete event simulator in Go.

Basic Info
Statistics
  • Stars: 9
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
discrete-event-simulation golang simulation
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

steps

GoDoc

"Steps" is a simple discrete event simulator in Go. It's useful for simulations of systems that are driven by events, such as queues, workflows, etc.

See the documentation for API and examples.

Example

```go sim := NewSimulation()

sim.Schedule(Event{When: sim.Now.Add(10 * time.Second), Action: func(s *Simulation) { fmt.Println("Actor 1:", sim.Now) }}) sim.Schedule(Event{When: sim.Now.Add(time.Second), Action: func(s *Simulation) { fmt.Println("Actor 2:", sim.Now) }})

sim.RunUntilDone()

// Output: // Actor 2: 0001-01-01 00:00:01 +0000 UTC // Actor 1: 0001-01-01 00:00:10 +0000 UTC ```

See here for more examples.

Why write yet another discrete event simulator?

  • simgo was too slow for my needs. I needed to run simulations in an inner loop.
  • godes was too heavyweight and complex for my needs. I just needed a simple performant scheduler (without any goroutines).

Contact & support

This library was coded up by Jens Rantil. Do not hesitate to contact Sweet Potato Tech for support.

Owner

  • Name: Jens Rantil
  • Login: JensRantil
  • Kind: user
  • Location: Stockholm, Sweden
  • Company: Normative

Backend engineer, engineering mathematics, traveller, nerd, juggler, guitar/african drum player. Inspired Swede.

GitHub Events

Total
  • Watch event: 9
  • Push event: 3
  • Create event: 1
Last Year
  • Watch event: 9
  • Push event: 3
  • Create event: 1

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads: unknown
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 4
proxy.golang.org: github.com/jensrantil/steps
  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.7%
Average: 5.9%
Dependent repos count: 6.1%
Last synced: 11 months ago
proxy.golang.org: github.com/JensRantil/steps

Package steps provides a simple, fast, discrete event simulator in Go.

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.7%
Average: 5.9%
Dependent repos count: 6.1%
Last synced: 11 months ago

Dependencies

go.mod go
.github/workflows/go.yml actions
  • actions/checkout v1 composite
  • actions/setup-go v1 composite