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,664
CPP
g++14.2.0
Jul 1, 2026 09:45
32,109,214 ns · 15,508,000 ns · 8,739,000 ns · 92,782,592 B
2Joad 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
3Yuriy 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
4AnSaAnSa 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
5Josu San MartinJosu San Martin Master3,915
CPP
g++12.4.0
Jul 6, 2026 21:38
45,132,907 ns · 18,367,000 ns · 17,264,000 ns · 94,392,320 B
6olliecrowolliecrow Expert4,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
7Shikhar SoniShikhar Soni Skilled5,182
CPP
g++14.2.0
Jun 28, 2026 20:11
56,467,973 ns · 25,486,000 ns · 21,678,000 ns · 94,392,320 B
8Andrew TsibinAndrew Tsibin Expert5,369
RUST
rust-1.95.0
Jul 30, 2026 03:11
58,916,646 ns · 27,412,000 ns · 21,447,000 ns · 92,876,800 B
9Dominique 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
10KeefeKeefe Skilled6,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
11Kenneth 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
12Yurkov AlekseyYurkov Aleksey Skilled6,480
CPP
May 27, 2021 13:13
83,076,123 ns · 42,976,000 ns · 15,991,000 ns · 92,676,096 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
14TudyMTudyM Skilled8,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
15Mikhail 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
16Ilya 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
17Charles 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
18gchebanovgchebanov 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
19Taylor 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
20Eugene ZhydzetskiEugene Zhydzetski Skilled20,544
GO
go1.19
Aug 9, 2022 16:35
248,409,498 ns · 186,950,781 ns · 0 ns · 92,672,000 B
21BenBen 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
22A_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
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 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
26Sergey StreminSergey Stremin Skilled77,685
RUST
May 26, 2021 17:54
771,893,466 ns · 706,932,655 ns · 0 ns · 94,740,480 B
27NoSIMD_C#NoSIMD_C# Skilled85,505
CPP
g++13.2.0
Dec 14, 2024 04:16
897,151,013 ns · 199,995,000 ns · 578,096,000 ns · 55,611,392 B
28Aniruddha DebAniruddha Deb Expert99,785
CPP
g++13.3.0
Apr 22, 2025 18:05
932,863,328 ns · 880,076,000 ns · 27,970,000 ns · 124,170,240 B
29limanjun99limanjun99 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
30TonyTony Apprentice150,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
31f0xerif0xeri 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
32Hung 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
33Genos0Genos0 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
34HighloadGPTO1HighloadGPTO1 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
35E 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
36izotoffizotoff 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
37Yehor 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
38Martin 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
39Oleg 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
40LiamLiam 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
41Alexander 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
42Robert 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
43Andrey 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
44Andrei 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
45BlankBot-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