You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: SimSharp/SimSharp.csproj
+25-5Lines changed: 25 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -7,17 +7,29 @@
7
7
<DelaySign>False</DelaySign>
8
8
<AssemblyName>SimSharp</AssemblyName>
9
9
<RootNamespace>SimSharp</RootNamespace>
10
-
<Version>3.0.11</Version>
10
+
<Version>3.1.0</Version>
11
11
<Authors>Andreas Beham</Authors>
12
-
<Description>Sim# aims to port the concepts used in SimPy (https://pypi.python.org/pypi/simpy) to the .NET world. It is implemented in C# and builds on the .NET Framework 4.0. Sim# uses an efficient event queue (adapted from https://bitbucket.org/BlueRaja/high-speed-priority-queue-for-c) that allows to compute models very fast. Simulating 10 years of the MachineShop sample (http://simpy.readthedocs.org/en/latest/examples/machine_shop.html) that uses preemptive resources requires only 2.5s on a Core i7 2.6Ghz. This model generates more than 5 million events.
12
+
<Description>Sim# aims to port the concepts used in SimPy (https://pypi.python.org/pypi/simpy) to the .NET world. It is implemented in C# and builds on the .NET Framework 4.5 / .NET Standard 2.0. Sim# uses an efficient event queue (adapted from https://github.com/BlueRaja/High-Speed-Priority-Queue-for-C-Sharp). The MachineShop benchmark comes close to 4 million events per second on a Core i7-7 2.7Ghz.
13
13
14
-
SimPy allows to model processes easily and with little boiler plate code. A process is described as a method that yields events. When an event is yielded, the process waits on it. Processes are themselves events and so it is convenient to spawn sub-processes that can either be waited upon or that run next to each other. There is no need to inherit from classes or understand a complex object oriented design.</Description>
14
+
SimPy allows modeling processes easily and with little boiler plate code. A process is described as a method that yields events. When an event is yielded, the process waits on it. Processes are themselves events and so it is convenient to spawn sub-processes that can either be waited upon or that run next to each other. There is no need to inherit from classes or understand a complex object oriented design.</Description>
- Introduce a faster non-thread safe Simulation class (Environment is now obsolete - backwards compatibility should be preserved)
21
+
- Introduce When* events for resources allowing to observe changes without having to fall back to using tiny intervals
22
+
- Introduce PriorityStore that can be used whenever a simple priority queue should be modeled
23
+
- Introduce permuted congruential generator (PCG) as default random number generator in Simulation (Environment will still default to System.Random as before)
24
+
- Change method to generate normal distributed random values to Marsaglia-polar method (Environment still uses the old method)
25
+
- Introduce additional API methods to provide a separate RNG instance
26
+
- Introduce additional API for generating log-normal distributed values (by giving desired mean and stdev)
27
+
- Remove warnings by changing "Process" property of events to "Owner" also enabling to set it (when ownership changes, e.g. as the request is handed to a different process)
28
+
- PreemptiveResource now uses the same priority handling as SimPy (breaks backwards compatibility - results may change)
29
+
- Remove net40 target (simplifies the build)
30
+
- Fix GasStationRefueling sample
31
+
32
+
3.0.11
21
33
- Fixed bug that would cause an infinite loop in ResourcePool when requesting unavailable objects
22
34
23
35
3.0.10
@@ -29,6 +41,7 @@ SimPy allows to model processes easily and with little boiler plate code. A proc
0 commit comments