-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changes
155 lines (133 loc) · 6.34 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
Revision history for ParaSeq
{{$NEXT}}
0.2.7 2024-08-21T15:20:25+02:00
- Make sure the block that is being cued is cloned: this is what
appears to be done by start { }, so it's probably good practice
0.2.6 2024-08-19T21:28:27+02:00
- Make sure we don't crash on trying to resume an unresumable
exception. This hopefully will help finding some race conditions
in clients such as "rak"
0.2.5 2024-07-26T23:58:45+02:00
- Make sure that dynamic variables in the current scope are visible
by the code that is being hyperized or racified.
- Create seperate buttons for the CI results
- Add sponsor button
0.2.4 2024-06-22T16:33:08+02:00
- Make ParaSeq a subclass of Seq, rather than a consumer of the
Sequence role. This makes ParaSeq an Iterable, so easier to
use in the same way as a Seq. As a result, some code could
be removed
- Added ParaIterator.sink-all for those hypering cases where only
the side-effects are interesting
- Added ParaSeq.sink to keep proper sinking semantics
- Added logic to catch and keep any exceptions occurring during
parallel execution, and display them at END time.
- Added :catch named argument to &hyperize/&racify/.hyper to indicate
whether any exceptions should be caught. Defaults to True
- Added .exceptions method that will return a Bag of exceptions that
were caught so far
- Removed some dead code
0.2.3 2024-06-20T19:44:33+02:00
- Make .default-batch and .default.degree left values, so you
can set these by just assigning to them
0.2.2 2024-06-18T21:51:17+02:00
- Removed the .auto mutator, much clearer to use .hyper for that
- Re-implemented the &racify functionality
- Add support for :racing named argument to .hyper method
- Added ParaStats.smoothed-nsecs method for timings corrected for
GC interference
0.2.1 2024-06-15T13:49:33+02:00
- Removed the :stop-after functionality: it was more trouble
than it was worth
- Removed the .stop / .discarded functionality: it was more
trouble than it was worth
0.2.0 2024-06-14T13:14:48+02:00
- Re-imagined infectiousness which makes chaining methods
acually work reliably
- Added tests for chaining several API methods
0.1.2 2024-06-08T13:03:48+02:00
- Reverted temporary fix
- Sadly needed to remove the "call Paraseq::last" instead of
imported "last" due to some as yet not understood interaction
between "uint" and "our"
0.1.1 2024-06-08T12:14:22+02:00
- Temporary fix for inclusion in precomped modules
0.1.0 2024-06-07T21:36:23+02:00
- Updated status of ".squish" and added tests
- Fixed an edge case in the slow batcher
- Updated status of ".repeated" and added tests
- Updated status of ".grep" and added tests
0.0.10 2024-06-06T16:14:31+02:00
- Re-imagine the handling of "last", by exporting a "last"
subroutine. Added Caveat as to the limitations this brings.
- Updated status of ".deepmap" and added tests
- Updated status of ".duckmap" and added tests
- Updated status of ".nodemap" and added tests
- Updated status of ".flatmap"
0.0.9 2024-06-04T14:40:13+02:00
- Updated status of ".map", added support for
phasers and added many more tests
0.0.8 2024-06-01T14:49:20+02:00
- Added Theory of operation section in documentation
- Updated status of ".sort" and added tests
- Updated status of ".collate" and added tests
- Updated status of ".combinations" and added tests
- Updated status of ".flat" and added tests
- Updated status of ".invert" and added tests
- Updated status of ".permutations" and added tests
- Updated status of ".produce" and added tests
- Updated status of ".slice" and added tests
- Updated status of ".snip" and added tests
- Updated status of ".skip" and added more tests
- Updated status of ".snitch" and added tests
- Updated status of ".toggle" and added tests
0.0.7 2024-05-30T14:24:50+02:00
- Added optimized ".batch" and tests
- Added partially optimized ".rotor" and tests
- Updated status of ".eager" and added tests
- Updated status of ".serial" and added tests
- Updated status of ".rotate" and added tests
- Updated status of ".values" and added tests
- Added partially optimized ".max" and tests
- Added partially optimized ".min" and tests
- Added partially optimized ".maxpairs" and tests
- Added partially optimized ".minpairs" and tests
- Added optimized ".minmax" and tests
- Removed "Status" from all of the endpoint methods
as they now all have their final implmentation
0.0.6 2024-05-28T20:46:35+02:00
- Added ".list" coercer
- Updated status of ".keys" and added tests
- Added optimized ".kv" and tests
- Added optimized ".pairs" and tests
- Added optimized ".antipairs" and tests
- Only optimize .unique(:with) where op is not ===
- Updated status of ".pick" and added tests
- Updated status of ".roll" and added tests
0.0.5 2024-05-27T17:23:14+02:00
- Added a *lot* of methods, at least as stubs for now
- Added documentation about all methods supported, and their status
- Added optimized ".unique" and tests
0.0.4 2024-05-25T19:49:54+02:00
- Refined BufferIterator logic with dedicated "skip-at-least"
- Made "racify" synonym for "hyperize": there was no point in
keeping separate code paths: this also meant removing the
"racing" attributes and methods
- Fixed an issue with ParaSeq.skip-at-least when it was possible
to skip the entire current buffer, and there was no next buffer
- Made ParaSeq.push-all a multi again, optimized for the case when
pushing to an IterationBuffer
- Added tests for BufferIterator and ParaIterator classes
0.0.3 2024-05-24T22:07:44+02:00
- Added bespoke support for .reduce, .sum and .join
0.0.2 2024-05-24T19:15:21+02:00
- Added proper batch adjustment logic
- Added :auto named arg, switch off batch adjustment with :!auto
- Added :stop-after(N) to limit number of values delivered
- Added ParaSeq introspection methods: .auto, .batch-sizes,
.default-batch, .default-degree, .racing, .stats, .stop-after,
.stopped, .threads
- Added ParaStats .ordinal and .threadid introspection methods
- Added a lot of documentation
0.0.1 2024-05-20T16:15:32+02:00
- Initial version