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
1Victor MerckléVictor Mercklé Grandmaster2,365
CPP
g++14.2.0
Sep 4, 2026 23:16
29,950,156 ns · 13,001,000 ns · 8,523,000 ns · 92,737,536 B
2Tomislav TunkovicTomislav Tunkovic Grandmaster2,483
CPP
g++14.2.0
Aug 15, 2026 09:13
30,981,852 ns · 14,128,000 ns · 8,475,000 ns · 92,704,768 B
3marko1597marko1597 Expert2,914
CPP
clang++17.0.6
Aug 16, 2026 13:14
34,964,546 ns · 17,844,000 ns · 8,675,000 ns · 92,708,864 B
4Andrew EpsteinAndrew Epstein Master2,917
CPP
g++14.2.0
Sep 14, 2026 23:47
37,403,508 ns · 18,053,000 ns · 8,494,000 ns · 92,688,384 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
6Yuriy LyfenkoYuriy Lyfenko Expert3,457
CPP
g++9.4.0
Jul 28, 2024 13:40
653,915,384 ns · 22,020,000 ns · 9,437,000 ns · 92,958,720 B
7AnSaAnSa Skilled3,743
CPP
g++13.3.0
Dec 24, 2025 09:16
58,078,475 ns · 20,036,000 ns · 14,025,000 ns · 97,341,440 B
8Josu San MartinJosu San Martin Expert3,940
CPP
g++12.4.0
Sep 15, 2026 23:35
45,943,491 ns · 18,700,000 ns · 17,156,000 ns · 94,392,320 B
9olliecrowolliecrow Expert4,205
CPP
g++13.3.0
May 5, 2026 06:57
52,728,790 ns · 21,461,000 ns · 16,807,000 ns · 94,662,656 B
10Dominique GarmierDominique Garmier Expert5,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
11Andrew TsibinAndrew Tsibin Expert5,527
RUST
rust-1.95.0
Jul 30, 2026 01:04
60,312,000 ns · 33,579,000 ns · 16,720,000 ns · 94,392,320 B
12Kenneth MaplesKenneth Maples Skilled6,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
13M-RochatM-Rochat Expert8,290
CPP
g++13.3.0
May 21, 2026 09:51
84,603,409 ns · 67,061,000 ns · 8,378,000 ns · 92,651,520 B
14Yurkov AlekseyYurkov Aleksey Skilled8,345
CPP
May 27, 2021 12:44
99,442,072 ns · 57,956,000 ns · 17,986,000 ns · 92,192,768 B
15TudyMTudyM Skilled8,374
CPP
clang++20.1.2
May 3, 2026 18:14
94,591,891 ns · 59,520,000 ns · 16,687,000 ns · 94,646,272 B
16Mikhail ShirokovMikhail Shirokov Skilled9,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
18Charles CabergsCharles Cabergs Skilled10,300
CPP
g++13.3.0
Apr 21, 2026 18:11
111,496,514 ns · 69,802,000 ns · 23,932,000 ns · 94,789,632 B
19gchebanovgchebanov Skilled10,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
20Haha ExpertHaha Expert Expert18,014
CSHARP
10.0.11
Sep 8, 2026 09:14
173,851,108 ns · 61,346,000 ns · 102,587,000 ns · 92,352,512 B
21Taylor DettlingTaylor Dettling Skilled18,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
22Eugene ZhydzetskiEugene Zhydzetski Skilled20,935
GO
go1.19
Aug 9, 2022 16:33
251,656,506 ns · 190,506,534 ns · 0 ns · 92,622,848 B
23KeefeKeefe Expert21,294
CPP
g++13.3.0
May 31, 2025 15:33
218,279,739 ns · 171,800,000 ns · 21,974,000 ns · 94,658,560 B
24BenBen Skilled21,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
25A_ShamanA_Shaman Skilled23,134
CPP
g++10.5.0
Jul 3, 2026 15:44
220,454,601 ns · 159,632,000 ns · 50,889,000 ns · 169,893,888 B
26apuxbtapuxbt 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
27etherealethereal 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
28HighloadGPT-o3-mini-highHighloadGPT-o3-mini-high Skilled72,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
29Sergey StreminSergey Stremin Skilled77,685
RUST
May 26, 2021 17:54
771,893,466 ns · 706,932,655 ns · 0 ns · 94,740,480 B
30Aniruddha DebAniruddha Deb Expert100,018
CPP
g++13.3.0
Apr 30, 2025 17:42
932,014,816 ns · 889,186,000 ns · 20,980,000 ns · 121,966,592 B
31limanjun99limanjun99 Expert137,897
CPP
g++14.2.0
Apr 21, 2026 08:48
1,278,628,240 ns · 1,212,909,000 ns · 41,962,000 ns · 94,781,440 B
32TonyTony Skilled150,597
CPP
g++10.5.0
Jul 31, 2026 06:14
1,380,617,464 ns · 1,335,935,000 ns · 34,503,000 ns · 94,392,320 B
33f0xerif0xeri Apprentice150,661
CPP
g++10.5.0
Jul 3, 2026 02:41
1,380,596,973 ns · 1,334,912,000 ns · 36,106,000 ns · 94,392,320 B
34Hung T.NguyenHung T.Nguyen Skilled151,113
CPP
g++10.5.0
May 8, 2026 04:25
1,393,302,766 ns · 1,340,893,000 ns · 34,242,000 ns · 94,781,440 B
35Genos0Genos0 Novice152,976
CPP
g++10.5.0
Jul 10, 2026 18:23
1,401,961,743 ns · 1,357,616,000 ns · 34,466,000 ns · 94,392,320 B
36HighloadGPTO1HighloadGPTO1 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
37E 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
38izotoffizotoff Skilled1,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
39Yehor 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
40Martin 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
41Oleg 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
42LiamLiam 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
43Alexander KimAlexander Kim Apprentice1,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
44Robert BurkeRobert Burke Skilled1,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
45Andrey 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
46Andrei 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
47BlankBot-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