Repository navigation
Commit d55e027
committed
perf(stream): multi-output handles answer with a plain tuple
update() on a multi-output handle spent ~125 ns/bar in namedtuple.__new__
against a 6 ns C call. MACD update() goes from 182 to 57 ns/bar with every
candidate measured in one binary, and from 170 to 37 ns/bar end to end;
BBANDS, STOCH, AROON and MINMAXINDEX all land in the -73% to -75% band.
The Function API already returns a plain tuple, so the two tiers now agree.
tuple -> NamedTuple stays available later as a non-breaking upgrade, since
every tuple idiom keeps working; the reverse would not be.
Single-output handles are untouched: 178 of 178 single-output classes are
byte-identical before and after.
test_open_and_fill_matches_batch loses its _fields check and gains a type
and arity check that reaches all 23 multi-output and 178 single-output
functions; order stays pinned by the element-wise comparison above it.
Claude-Session: https://claude.ai/code/session_01RQsaLFjtMXaVE4UHQKVaeu1 parent 6fd5ecf commit d55e027
8 files changed
Lines changed: 25602 additions & 28212 deletions
File tree
- talib
- tests
- tools
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
13 | | - | |
14 | | - | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
557 | 557 | | |
558 | 558 | | |
559 | 559 | | |
560 | | - | |
561 | | - | |
| 560 | + | |
562 | 561 | | |
563 | 562 | | |
564 | 563 | | |
565 | 564 | | |
566 | | - | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
567 | 568 | | |
568 | 569 | | |
569 | 570 | | |
| |||
Large diffs are not rendered by default.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
49 | | - | |
50 | | - | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
204 | 204 | | |
205 | 205 | | |
206 | 206 | | |
207 | | - | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
208 | 215 | | |
209 | 216 | | |
210 | 217 | | |
| |||
286 | 293 | | |
287 | 294 | | |
288 | 295 | | |
289 | | - | |
290 | | - | |
291 | | - | |
292 | | - | |
293 | | - | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
294 | 309 | | |
295 | 310 | | |
296 | 311 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
265 | 265 | | |
266 | 266 | | |
267 | 267 | | |
268 | | - | |
269 | | - | |
| 268 | + | |
| 269 | + | |
270 | 270 | | |
271 | 271 | | |
272 | 272 | | |
| |||
294 | 294 | | |
295 | 295 | | |
296 | 296 | | |
297 | | - | |
298 | | - | |
299 | | - | |
300 | 297 | | |
301 | 298 | | |
302 | 299 | | |
| |||
345 | 342 | | |
346 | 343 | | |
347 | 344 | | |
348 | | - | |
349 | | - | |
| 345 | + | |
350 | 346 | | |
351 | 347 | | |
352 | 348 | | |
| |||
412 | 408 | | |
413 | 409 | | |
414 | 410 | | |
415 | | - | |
416 | | - | |
417 | | - | |
418 | | - | |
| 411 | + | |
| 412 | + | |
419 | 413 | | |
420 | 414 | | |
421 | 415 | | |
| |||
0 commit comments