<p>Let Δ ≥ 3 be an integer. Given a fixed <em><strong>z</strong></em> ∈ <sub>+</sub><sup>Δ</sup> such that <em>z</em><sub>Δ</sub> > 0, we consider a graph <em>G</em><sub><strong>z</strong></sub> drawn uniformly at random from the collection of graphs with <em>z</em><sub><em>i</em></sub><em>n</em> vertices of degree <em>i</em> for <em>i</em> = 1,. . .,Δ. We study the performance of the Karp–Sipser algorithm when applied to <em>G</em><sub><strong>z</strong></sub>. If there is an index δ > 1 such that <em>z</em><sub>1</sub> = . . . = <em>z</em><sub>δ−1</sub> = 0 and δ<em>z</em><sub>δ</sub>,. . .,Δ<em>z</em><sub>Δ</sub> is a log-concave sequence of positive reals, then with high probability the Karp–Sipser algorithm succeeds in finding a matching with <em>n</em> ∥ <strong>z</strong> ∥ <sub>1</sub>/2 − <em>o</em>(<em>n</em><sup>1−ε</sup>) edges in <em>G</em><sub><strong>z</strong></sub>, where ε = ε (Δ, <strong>z</strong>) is a constant.</p>