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,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 | ||
| 2 | 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 | ||
| 3 | 3,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 | ||
| 4 | 3,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 | ||
| 5 | 3,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 | ||
| 6 | 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 | ||
| 7 | 5,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 | ||
| 8 | 5,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 | ||
| 9 | 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 | ||
| 10 | 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 | ||
| 11 | 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 | ||
| 12 | 6,480 | CPP | May 27, 2021 13:13 83,076,123 ns · 42,976,000 ns · 15,991,000 ns · 92,676,096 B | ||
| 13 | 8,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 | ||
| 14 | 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 | ||
| 15 | 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 | ||
| 16 | 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 | ||
| 17 | 10,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 | ||
| 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,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 | ||
| 20 | 20,544 | GO go1.19 | Aug 9, 2022 16:35 248,409,498 ns · 186,950,781 ns · 0 ns · 92,672,000 B | ||
| 21 | 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 | ||
| 22 | 23,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 | ||
| 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 | 77,685 | RUST | May 26, 2021 17:54 771,893,466 ns · 706,932,655 ns · 0 ns · 94,740,480 B | ||
| 27 | 85,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 | ||
| 28 | 99,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 | ||
| 29 | 137,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 | ||
| 30 | 150,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 | ||
| 31 | 150,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 | ||
| 32 | 151,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 | ||
| 33 | 152,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 | ||
| 34 | 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 | ||
| 35 | 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 | ||
| 36 | 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 | ||
| 37 | 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 | ||
| 38 | 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 | ||
| 39 | 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 | ||
| 40 | 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 | ||
| 41 | 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 | ||
| 42 | 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 | ||
| 43 | 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 | ||
| 44 | 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 | ||
| 45 | 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 |