3
0
mirror of https://github.com/larvit/adf-codec.git synced 2026-11-12 11:48:29 +01:00

Answer stability round 2: 1 🔴, 0 🟡 (0 misread); the changelog claims no bound for lines mixing em, strike and strong, and item 158 names them

This commit is contained in:
2026-10-29 16:23:23 +01:00
committed by Lillem4n
parent ee95b3035f
commit fa2f32b309
2 changed files with 6 additions and 6 deletions
+4 -4
View File
@@ -56,10 +56,10 @@
closing brackets follow a link: 8000 links inside 8000 `*` took two seconds, now about 100 ms.
- Every reader takes time linear in the inline markdown when it holds many `](` that open no link,
as in `[a](b` repeated: 16000 of them took 25 seconds, now 80 ms.
- `adfToLosslessMarkdown` and `adfToPortableMarkdown` take time linear in a line's marks when many
of its marked texts or inline nodes need a carry or lose their mark, as in text `un` beside strong
`-r`, repeated: 1000 of them took 10 seconds, now 150 ms. Such a line whose texts each hold two
or more of em, strong and strike still takes time quadratic in its length.
- `adfToLosslessMarkdown` and `adfToPortableMarkdown` write faster a line of many marked texts or
inline nodes that need a carry or lose their mark, as in text `un` beside strong `-r`, repeated:
1000 of them took 10 seconds, now 150 ms. A line mixing em, strike and strong can still take time
quadratic in its length, as in text `un` beside `-r` marked em and strong, repeated.
- `adfToLosslessMarkdown` and `adfToPortableMarkdown` take time linear in the markdown when lists
and quotes nest deeply, and so does `losslessMarkdownToAdf`: a list nested 480 levels around
64 KB of paragraphs took 2 seconds to write, now 100 ms. A `!adf:blockquote` holding 2 MB of lines
+2 -2
View File
@@ -12,7 +12,7 @@
| ID | Release | Blocked by | Exempt | Item | L | E | I | R | S | Moves | Score |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 158 | 0.3.0 | | defect | **Emit a line in time linear in its mark runs when its texts each hold two or more of em, strong and strike, in `adfToLosslessMarkdown` and `adfToPortableMarkdown`.** | 3 | 1 | 2 | 4 | 5 | 9 by 3 | 7.8 |
| 158 | 0.3.0 | | defect | **Emit a line mixing em, strike and strong in time linear in its mark runs, in `adfToLosslessMarkdown` and `adfToPortableMarkdown`.** | 3 | 1 | 2 | 4 | 5 | 9 by 3 | 7.8 |
| 150 | 0.3.0 | | decision | **Read `adfToHtml`'s HTML in `htmlToAdf` as a browser serializes it too — a raw `"` in text, ` `, `\r\n` line endings — so a page's `innerHTML` or a form post reads back.** | 2 | 2 | 2 | 4 | 4 | 6 by 5 | 5.0 |
| 115 | 0.3.0 | | defect | **Build text holding no `border` mark in `losslessMarkdownToAdf`, and have `adfToLosslessMarkdown` carry text holding one.** | 2 | 1 | 2 | 3 | 3 | 4 by 3 | 4.6 |
| 91 | 0.3.0 | | | **Spell an emphasis once across the code spans, an emphasis or link once across the hard breaks, dates, emoji, inline cards, mentions and statuses between two nodes it marks, and an emphasis across inline media, in both writers.** | 3 | 2 | 2 | 5 | 5 | 6 by 6 | 3.6 |
@@ -69,7 +69,7 @@
## Details
### 158. Emit a line in time linear in its mark runs when its texts each hold two or more of em, strong and strike, in `adfToLosslessMarkdown` and `adfToPortableMarkdown`.
### 158. Emit a line mixing em, strike and strong in time linear in its mark runs, in `adfToLosslessMarkdown` and `adfToPortableMarkdown`.
Item 33 batched a line's fallbacks, but two guards keep nested emphasis at one run per pass. A
paragraph repeating text `un` beside `-r` marked em and strong takes 13 seconds at 1000 repeats in