XML to JSON 
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
phonesfield if the phone array is empty - Maximum number of phones per person is 3
| # | Author | Score | Language | Solution | |
|---|---|---|---|---|---|
| 1 | 2,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 | ||
| 2 | 3,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 | ||
| 3 | 3,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 | ||
| 4 | 3,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 | ||
| 5 | 3,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 | ||
| 6 | 3,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 | ||
| 7 | 3,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 | ||
| 8 | 3,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 | ||
| 9 | 4,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 | ||
| 10 | 5,007 | RUST | May 26, 2021 18:24 69,878,999 ns · 37,465,000 ns · 8,100,000 ns · 94,568,448 B | ||
| 11 | 5,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 | ||
| 12 | 6,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 | ||
| 13 | 6,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 | ||
| 14 | 6,480 | CPP | May 27, 2021 13:13 83,076,123 ns · 42,976,000 ns · 15,991,000 ns · 92,676,096 B | ||
| 15 | 8,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 | ||
| 16 | 9,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 | ||
| 17 | 9,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 | ||
| 18 | 10,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 | ||
| 19 | 18,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 | ||
| 20 | 18,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 | ||
| 21 | 19,114 | GO go1.19 | Aug 9, 2022 19:17 247,866,402 ns · 173,940,215 ns · 0 ns · 92,622,848 B | ||
| 22 | 21,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 | ||
| 23 | 60,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 | ||
| 24 | 62,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 | ||
| 25 | 72,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 | ||
| 26 | 179,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 | ||
| 27 | 930,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 | ||
| 28 | 1,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 | ||
| 29 | 1,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 | ||
| 30 | 1,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 | ||
| 31 | 1,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 | ||
| 32 | 1,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 | ||
| 33 | 1,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 | ||
| 34 | 1,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 | ||
| 35 | 1,191,800 | GO | May 25, 2021 18:40 10,940,229,057 ns · 10,845,382,564 ns · 0 ns · 94,760,960 B | ||
| 36 | 1,195,121 | GO | May 25, 2021 19:16 11,104,102,076 ns · 10,875,604,823 ns · 0 ns · 94,629,888 B | ||
| 37 | 1,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 |