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: NEWS.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,10 @@
1
1
# DiscreteEvents news
2
2
3
+
## v0.3.5
4
+
(released 2023-02-23)
5
+
- updated compat
6
+
- removed multi-threading (parallel clocks) from export and docs
7
+
3
8
## v0.3.1
4
9
5
10
(released 2020-09-16) A few days after the release of v0.3.0 Hector Perez contributed some macros to make the `DiscreteEvents` API more Julian for common cases:
For further examples see the [documentation](https://pbayer.github.io/DiscreteEvents.jl/dev), or the companion site [DiscreteEventsCompanion](https://pbayer.github.io/DiscreteEventsCompanion.jl/dev/).
90
+
For further examples see the [documentation](https://pbayer.github.io/DiscreteEvents.jl/dev).
Copy file name to clipboardExpand all lines: docs/src/clocks.md
-46Lines changed: 0 additions & 46 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,52 +39,6 @@ You can query the current clock time:
39
39
tau
40
40
```
41
41
42
-
## Parallel Clocks (Experimental)
43
-
44
-
Parallel clocks are a new feature in v0.3 and cannot yet considered to be stable. Please develop your applications first single-threaded before going parallel. Please report any failures.
45
-
46
-
Parallel clocks are virtual clocks with local clocks on parallel threads to support multi-threaded simulations.
47
-
48
-
A parallel clock structure consists of a master (global) clock on thread 1 and [`ActiveClock`](@ref)s on all available threads > 1. An active clock is a task running a thread local clock. The thread local clock can schedule and execute events locally.
49
-
50
-
The master clock communicates with its parallel active clocks via message channels. It synchronizes time with the local clocks. Tasks (processes and actors) have access to their thread local clock from it and then work only with the local clock.
51
-
52
-
```@docs
53
-
PClock
54
-
pclock
55
-
```
56
-
57
-
Parallel clocks can be identified by their thread number: the master clock works on thread 1, local clocks on parallel threads ≥ 2. They can be setup and accessed easily:
58
-
59
-
```@repl clocks
60
-
@show x=nthreads()-1;
61
-
clk = PClock() # now the clock has (+x) active parallel clocks
62
-
ac2 = pclock(clk, 2) # access the active clock on thread 2
63
-
ac2.clock # the thread local clock
64
-
ac2.clock.ac[] # local clocks can access their active clock
65
-
```
66
-
67
-
Tasks on parallel threads have access to the thread local clock by `pclock(clk)`. Then they can schedule events, `delay!` or `wait!` on it as usual. The thread local clock is passed to a `process!` automatically if you set it up on a parallel thread.
68
-
69
-
You can fork explicitly existing clocks to other threads or collapse them if no longer needed. You can get direct access to parallel active clocks and diagnose them.
70
-
71
-
```@docs
72
-
fork!
73
-
collapse!
74
-
```
75
-
76
-
```@repl clocks
77
-
clk = Clock() # create a clock
78
-
fork!(clk) # fork it
79
-
clk # it now has parallel clocks
80
-
collapse!(clk) # collapse it
81
-
clk # it now has no parallel clocks
82
-
```
83
-
84
-
```@docs
85
-
diagnose
86
-
```
87
-
88
42
## Real Time Clocks (Experimental)
89
43
90
44
Real time clocks are a new feature in v0.3 and thus cannot yet be considered as stable. Please try and report problems.
Copy file name to clipboardExpand all lines: docs/src/index.md
+1-5Lines changed: 1 addition & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,13 +13,9 @@ A Julia package for **discrete event generation and simulation**.
13
13
-[**Troubleshooting**](troubleshooting.md): If something doesn't work as expected.
14
14
-[**Version history**](history.md): A list of features and changes.
15
15
16
-
## Companion
17
-
18
-
There is a companion site [DiscreteEventsCompanion](https://pbayer.github.io/DiscreteEventsCompanion.jl/dev/) with more information, examples, notebooks and benchmarks.
19
-
20
16
## Development
21
17
22
-
`DiscreteEvents` is in active development. Please use, test and help evolve it. Its GitHub repository is at [https://github.com/pbayer/DiscreteEvents.jl](https://github.com/pbayer/DiscreteEvents.jl).
18
+
`DiscreteEvents` is in development. Please use, test and help evolve it. Its GitHub repository is at [https://github.com/pbayer/DiscreteEvents.jl](https://github.com/pbayer/DiscreteEvents.jl).
Copy file name to clipboardExpand all lines: docs/src/news.md
+2-12Lines changed: 2 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,20 +1,10 @@
1
-
# News in v0.3.1
1
+
# News in v0.3.5
2
2
3
3
```@meta
4
4
CurrentModule = DiscreteEvents
5
5
```
6
6
7
-
A few days after the release of v0.3.0 Hector Perez contributed some macros to make the `DiscreteEvents` API more Julian for common cases:
8
-
9
-
-[`@event`](@ref): wraps [`fun`](@ref) and [`event!`](@ref) into one call,
10
-
-[`@periodic`](@ref): wraps [`fun`](@ref) and [`periodic!`](@ref) into one call,
11
-
-[`@process`](@ref): wraps [`Prc`](@ref) and [`process!`](@ref) into one call,
12
-
-[`@wait`](@ref): simplified call of [`wait!`](@ref),
13
-
14
-
The following macros provide syntactic sugar to existing functions:
15
-
16
-
-[`@delay`](@ref): calls [`delay!`](@ref),
17
-
-[`@run!`](@ref): calls [`run!`](@ref).
7
+
- multithreading (parallel clocks) has been removed from exports, testing and documentation as it was unstable and has been broken by Julia 1.7 and 1.8
Parallel clocks are a new feature in v0.3 and cannot yet considered to be stable. Please develop your applications first single-threaded before going parallel. Please report any failures.
4
+
5
+
Parallel clocks are virtual clocks with local clocks on parallel threads to support multi-threaded simulations.
6
+
7
+
A parallel clock structure consists of a master (global) clock on thread 1 and [`ActiveClock`](@ref)s on all available threads > 1. An active clock is a task running a thread local clock. The thread local clock can schedule and execute events locally.
8
+
9
+
The master clock communicates with its parallel active clocks via message channels. It synchronizes time with the local clocks. Tasks (processes and actors) have access to their thread local clock from it and then work only with the local clock.
10
+
11
+
```@docs
12
+
PClock
13
+
pclock
14
+
```
15
+
16
+
Parallel clocks can be identified by their thread number: the master clock works on thread 1, local clocks on parallel threads ≥ 2. They can be setup and accessed easily:
17
+
18
+
```@repl clocks
19
+
@show x=nthreads()-1;
20
+
clk = PClock() # now the clock has (+x) active parallel clocks
21
+
ac2 = pclock(clk, 2) # access the active clock on thread 2
22
+
ac2.clock # the thread local clock
23
+
ac2.clock.ac[] # local clocks can access their active clock
24
+
```
25
+
26
+
Tasks on parallel threads have access to the thread local clock by `pclock(clk)`. Then they can schedule events, `delay!` or `wait!` on it as usual. The thread local clock is passed to a `process!` automatically if you set it up on a parallel thread.
27
+
28
+
You can fork explicitly existing clocks to other threads or collapse them if no longer needed. You can get direct access to parallel active clocks and diagnose them.
0 commit comments