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,371
ZIG
0.16.0
Aug 19, 2026 21:12
29,918,013 ns · 12,695,000 ns · 8,887,000 ns · 92,749,824 B
2Tomislav TunkovicTomislav Tunkovic Expert2,464
CPP
g++14.2.0
Aug 15, 2026 09:07
30,861,111 ns · 13,861,000 ns · 8,562,000 ns · 92,790,784 B
3marko1597marko1597 Expert2,912
CPP
clang++19.1.1
Aug 16, 2026 09:57
35,576,251 ns · 17,852,000 ns · 8,656,000 ns · 92,753,920 B
4Joad NacerJoad Nacer Skilled3,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
5Yuriy 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
6AnSaAnSa 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
7Josu San MartinJosu San Martin Expert3,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
8olliecrowolliecrow 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
9Shikhar 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
10Andrew 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
11Dominique 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
12KeefeKeefe 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
13Kenneth 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
14Yurkov 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
15M-RochatM-Rochat Skilled8,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
16TudyMTudyM 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
17Mikhail 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
18Ilya 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
19Charles 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
20gchebanovgchebanov 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
21NoSIMD_C#NoSIMD_C# Apprentice18,249
CSHARP
10.0.11
Aug 24, 2026 16:47
175,866,870 ns · 61,504,000 ns · 104,562,000 ns · 92,332,032 B
22Taylor 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
23Eugene ZhydzetskiEugene Zhydzetski Apprentice20,544
GO
go1.19
Aug 9, 2022 16:35
248,409,498 ns · 186,950,781 ns · 0 ns · 92,672,000 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
26Andrew EpsteinAndrew Epstein Expert28,402
CPP
g++14.2.0
Aug 24, 2026 00:51
268,520,766 ns · 241,920,000 ns · 16,547,000 ns · 94,392,320 B
27apuxbtapuxbt 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
28etherealethereal 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
29HighloadGPT-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
30Sergey StreminSergey Stremin Skilled77,685
RUST
May 26, 2021 17:54
771,893,466 ns · 706,932,655 ns · 0 ns · 94,740,480 B
31Aniruddha DebAniruddha Deb Skilled99,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
32limanjun99limanjun99 Skilled137,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
33TonyTony 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
34f0xerif0xeri 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
35Hung T.NguyenHung T.Nguyen Apprentice151,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
36Genos0Genos0 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
37HighloadGPTO1HighloadGPTO1 Apprentice179,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
38E 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
39izotoffizotoff 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
40Yehor 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
41Martin 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
42Oleg 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
43LiamLiam 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
44Alexander 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
45Robert 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
46Andrey 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
47Andrei 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
48BlankBot-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