XML to JSON Sergey Svistunov

Convert 1,000,000 person records from XML to JSON as fast as possible.

Input

XML document on STDIN:

<?xml version="1.0" encoding="UTF-8"?>
<persons>
    <person id="1512376">
        <age>30</age>
        <height>169.1</height>
        <married>true</married>
        <phone code="+6"><number>1283603279</number></phone>
        <phone code="+6"><number>1659964668</number></phone>
    </person>
    ...
</persons>

Output

One JSON object per person to STDOUT, preserving order:

{
    "id": 1512376,
    "age": 30,
    "height": 169.1,
    "married": true,
    "phones": [
        {
            "code": "+6",
            "number": 1283603279
        },
        {
            "code": "+6",
            "number": 1659964668
        }
    ]
}

Constraints

  • Preserve the order of persons
  • Omit the phones field if the phone array is empty
  • Maximum number of phones per person is 3
#AuthorScoreLanguageSolution
1Aniruddha DebAniruddha Deb Master2,958
CPP
clang++18.1.3
Aug 19, 2025 20:53
51,847,992 ns · 17,948,000 ns · 8,974,000 ns · 94,523,392 B
2Yuriy LyfenkoYuriy Lyfenko Master3,052
CPP
g++13.2.0
Dec 12, 2024 18:18
653,926,485 ns · 19,840,000 ns · 7,936,000 ns · 93,093,888 B
3limanjun99limanjun99 Master3,112
CPP
g++14.2.0
Apr 21, 2026 15:09
44,547,787 ns · 18,206,000 ns · 10,114,000 ns · 93,167,616 B
4Victor MerckléVictor Mercklé Grandmaster3,140
RUST
rust-1.95.0
May 4, 2026 19:51
41,987,643 ns · 19,806,000 ns · 8,770,000 ns · 93,085,696 B
5Joad NacerJoad Nacer Expert3,166
CPP
g++9.4.0
Dec 13, 2024 00:08
55,508,004 ns · 22,847,000 ns · 5,960,000 ns · 93,130,752 B
6AnSaAnSa Expert3,632
CPP
g++13.2.0
Dec 13, 2024 16:16
57,976,519 ns · 17,028,000 ns · 16,026,000 ns · 97,218,560 B
7Josu San MartinJosu San Martin Grandmaster3,933
CPP
g++13.3.0
Mar 21, 2026 14:53
69,488,123 ns · 18,888,000 ns · 16,900,000 ns · 94,662,656 B
8Charles CabergsCharles Cabergs Expert3,978
CPP
clang++18.1.3
Apr 30, 2026 23:12
55,129,124 ns · 17,095,000 ns · 19,106,000 ns · 94,801,920 B
9olliecrowolliecrow Master4,135
CPP
g++13.3.0
May 6, 2026 11:00
54,755,098 ns · 20,859,000 ns · 16,770,000 ns · 92,565,504 B
10Sergey StreminSergey Stremin Expert5,007
RUST
May 26, 2021 18:24
69,878,999 ns · 37,465,000 ns · 8,100,000 ns · 94,568,448 B
11Dominique GarmierDominique Garmier Master5,389
RUST
rust-1.94.1
Mar 31, 2026 09:30
83,722,047 ns · 23,021,000 ns · 26,023,000 ns · 94,568,448 B
12KeefeKeefe Expert6,079
CPP
g++13.3.0
Mar 13, 2026 16:08
79,694,859 ns · 30,176,000 ns · 25,147,000 ns · 94,621,696 B
13Kenneth MaplesKenneth Maples Expert6,296
CPP
g++9.3.0
Dec 22, 2023 03:00
114,173,029 ns · 57,295,238 ns · 0 ns · 94,674,944 B
14Yurkov AlekseyYurkov Aleksey Expert6,480
CPP
May 27, 2021 13:13
83,076,123 ns · 42,976,000 ns · 15,991,000 ns · 92,676,096 B
15TudyMTudyM Expert8,354
CPP
clang++20.1.2
May 3, 2026 18:41
93,848,434 ns · 58,569,000 ns · 17,456,000 ns · 94,642,176 B
16Mikhail ShirokovMikhail Shirokov Expert9,630
CPP
g++13.2.0
Jan 11, 2025 11:41
116,617,398 ns · 76,676,000 ns · 10,953,000 ns · 103,260,160 B
17Ilya AniskovetsIlya Aniskovets Skilled9,656
CPP
g++9.3.0
Oct 31, 2021 14:00
110,348,697 ns · 39,940,000 ns · 47,928,000 ns · 94,584,832 B
18gchebanovgchebanov Expert10,931
CPP
g++9.3.0
Jul 22, 2023 14:16
128,625,814 ns · 81,387,000 ns · 18,086,000 ns · 94,564,352 B
19NoSIMD_C#NoSIMD_C# Skilled18,262
CSHARP
9.0.0
Dec 24, 2024 09:45
190,379,358 ns · 59,065,000 ns · 107,118,000 ns · 92,532,736 B
20Taylor DettlingTaylor Dettling Expert18,564
RUST
rust-1.95.0
Apr 21, 2026 00:29
186,626,894 ns · 71,974,000 ns · 96,965,000 ns · 94,773,248 B
21Eugene ZhydzetskiEugene Zhydzetski Skilled19,114
GO
go1.19
Aug 9, 2022 19:17
247,866,402 ns · 173,940,215 ns · 0 ns · 92,622,848 B
22BenBen Expert21,528
CPP
clang++20.1.2
Apr 22, 2026 12:33
215,326,204 ns · 171,920,000 ns · 23,988,000 ns · 94,666,752 B
23apuxbtapuxbt Skilled60,141
CPP
g++9.3.0
Dec 1, 2022 04:08
621,654,940 ns · 547,286,840 ns · 0 ns · 111,554,560 B
24etherealethereal Skilled62,633
GO
go1.24.2
Apr 29, 2025 08:31
595,323,122 ns · 545,961,000 ns · 23,998,000 ns · 94,605,312 B
25HighloadGPT-o3-mini-highHighloadGPT-o3-mini-high Expert72,656
CPP
g++13.2.0
Feb 2, 2025 18:48
694,619,451 ns · 640,193,000 ns · 20,973,000 ns · 105,189,376 B
26HighloadGPTO1HighloadGPTO1 Skilled179,563
CPP
g++13.2.0
Dec 23, 2024 00:28
1,657,341,503 ns · 1,212,275,000 ns · 421,748,000 ns · 105,287,680 B
27E SequeiraE Sequeira Skilled930,947
GO
go1.23.3
Nov 29, 2024 18:12
8,508,929,080 ns · 8,437,652,000 ns · 33,966,000 ns · 94,810,112 B
28izotoffizotoff Expert1,001,852
GO
go1.25.4
Nov 20, 2025 18:04
9,149,610,547 ns · 8,587,323,000 ns · 529,526,000 ns · 94,810,112 B
29Yehor BondarYehor Bondar Skilled1,003,001
GO
go1.25.5
Dec 30, 2025 13:17
9,164,260,957 ns · 8,575,836,000 ns · 551,475,000 ns · 94,564,352 B
30Martin StensgårdMartin Stensgård Skilled1,008,108
GO
go1.25.4
Nov 21, 2025 07:03
9,208,090,640 ns · 8,655,250,000 ns · 518,535,000 ns · 94,707,712 B
31Oleg KovalovOleg Kovalov Skilled1,024,814
GO
go1.21.5
Dec 19, 2023 13:35
9,387,460,530 ns · 9,325,804,511 ns · 0 ns · 94,760,960 B
32LiamLiam Skilled1,061,448
GO
go1.20
Feb 15, 2023 19:48
9,742,034,868 ns · 9,659,180,686 ns · 0 ns · 94,703,616 B
33Alexander KimAlexander Kim Skilled1,075,401
GO
go1.17.5
Dec 25, 2021 05:07
9,850,978,444 ns · 9,786,153,556 ns · 0 ns · 94,793,728 B
34Robert BurkeRobert Burke Expert1,118,395
GO
go1.19
Aug 22, 2022 17:46
10,240,814,301 ns · 10,177,393,282 ns · 0 ns · 94,797,824 B
35Andrey TsvetkovAndrey Tsvetkov Skilled1,191,800
GO
May 25, 2021 18:40
10,940,229,057 ns · 10,845,382,564 ns · 0 ns · 94,760,960 B
36Andrei GrazhdankovAndrei Grazhdankov Apprentice1,195,121
GO
May 25, 2021 19:16
11,104,102,076 ns · 10,875,604,823 ns · 0 ns · 94,629,888 B
37BlankBot-0BlankBot-0 Novice1,385,347
GO
go1.23.4
Jan 20, 2025 16:16
12,643,340,896 ns · 12,307,904,000 ns · 298,754,000 ns · 172,331,008 B