Parse JSON Sergey Svistunov

Compute the total amount of non-canceled external USD transactions from a stream of JSON records as fast as possible.

Input: 1 000 000 JSON records on STDIN, one per line. Each record has the following structure:

{
    "user_id": 0,
    "currency": "USD",
    "transactions": [
        {
            "amount": 0,
            "to_user_id": 0,
            "canceled": false
        }
    ]
}
Field Constraints
user_id Integer, max 10 000
currency One of "GBP", "USD", "RUB", "JPY", "CHF"
transactions Array, max 10 elements
amount Integer, max 1000
canceled Boolean; may be omitted when false

Field order is not guaranteed within any object.

Output: The total amount of all transactions where:

  • record.currency == "USD"
  • transaction.to_user_id != record.user_id (external)
  • transaction.canceled is false or absent
Date AuthorLanguageStatus Score
Jan 11, 2025 20:08Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 20:07Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 20:04Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 20:03Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 20:00Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 19:59Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 19:57Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 19:54Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 19:41Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 19:40Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 19:38Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 19:36Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 19:34Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 19:33Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 19:32Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 19:31Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 19:27Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 19:18Ian MckibbenIan MckibbenCPPclang++18.1.3Error
Jan 11, 2025 19:17Ian MckibbenIan MckibbenCPPclang++18.1.3Success544,137+1.86 RP
Jan 11, 2025 19:17Ian MckibbenIan MckibbenCPPclang++18.1.3Success605,429+16.52 RP
Dec 26, 2024 22:56Joad NacerJoad NacerCPPg++13.2.0Error
Dec 26, 2024 22:55Joad NacerJoad NacerCPPg++13.2.0Error
Dec 26, 2024 22:54Joad NacerJoad NacerCPPg++13.2.0Error
Dec 26, 2024 22:45Joad NacerJoad NacerCPPg++13.2.0Success4,441+0.51 RP
Dec 26, 2024 22:43Joad NacerJoad NacerCPPg++13.2.0Error
Dec 26, 2024 22:41Joad NacerJoad NacerCPPg++13.2.0Error
Dec 25, 2024 23:07Joad NacerJoad NacerCPPg++13.2.0Success4,626
Dec 25, 2024 23:05Joad NacerJoad NacerCPPg++13.2.0Success5,915
Dec 25, 2024 23:03Joad NacerJoad NacerCPPg++13.2.0Success4,896
Dec 25, 2024 23:03Joad NacerJoad NacerCPPg++13.2.0Success4,923
Dec 25, 2024 23:02Joad NacerJoad NacerCPPg++13.2.0Success4,919
Dec 25, 2024 22:58Joad NacerJoad NacerCPPg++13.2.0Success4,442+3.04 RP
Dec 25, 2024 22:58Joad NacerJoad NacerCPPg++13.2.0Success4,448+2.02 RP
Dec 22, 2024 21:52HighloadGPTO1HighloadGPTO1CPPclang++18.1.3Error
Dec 22, 2024 21:50HighloadGPTO1HighloadGPTO1CPPclang++18.1.3Error
Dec 22, 2024 21:48HighloadGPTO1HighloadGPTO1CPPclang++18.1.3Error
Dec 22, 2024 21:45HighloadGPTO1HighloadGPTO1CPPclang++18.1.3Error
Dec 22, 2024 21:43HighloadGPTO1HighloadGPTO1CPPclang++18.1.3Error
Dec 16, 2024 23:15Mikhail ShirokovMikhail ShirokovCPPg++13.2.0Success484,427
Dec 16, 2024 23:12Mikhail ShirokovMikhail ShirokovCPPg++13.2.0Success469,183+0.28 RP
Dec 14, 2024 14:36E SequeiraE SequeiraCPPclang++18.1.3Error
Dec 14, 2024 14:33E SequeiraE SequeiraCPPclang++18.1.3Success303,219
Dec 14, 2024 14:31E SequeiraE SequeiraCPPg++13.2.0Success310,142
Dec 14, 2024 14:31E SequeiraE SequeiraCPPclang++18.1.3Success300,642+0.74 RP
Dec 14, 2024 14:22E SequeiraE SequeiraCPPclang++18.1.3Success307,492+0.11 RP
Dec 14, 2024 14:17E SequeiraE SequeiraCPPclang++18.1.3Error
Dec 14, 2024 14:14E SequeiraE SequeiraCPPclang++18.1.3Success308,512+0.93 RP
Dec 14, 2024 14:12E SequeiraE SequeiraCPPclang++18.1.3Success317,635+0.29 RP
Dec 14, 2024 14:11E SequeiraE SequeiraCPPclang++18.1.3Success320,547+0.15 RP
Dec 14, 2024 14:09E SequeiraE SequeiraCPPclang++18.1.3Success324,927
Dec 14, 2024 14:07E SequeiraE SequeiraCPPclang++18.1.3Success324,011
Dec 14, 2024 14:07E SequeiraE SequeiraCPPclang++18.1.3Success322,813
Dec 14, 2024 14:05E SequeiraE SequeiraCPPclang++18.1.3Success322,612
Dec 14, 2024 14:03E SequeiraE SequeiraCPPclang++18.1.3Success324,013
Dec 14, 2024 14:01E SequeiraE SequeiraCPPclang++18.1.3Error
Dec 14, 2024 13:54E SequeiraE SequeiraCPPclang++18.1.3Success322,117+6.62 RP
Dec 14, 2024 13:47E SequeiraE SequeiraCPPclang++18.1.3Success409,414+0.57 RP
Dec 14, 2024 13:45E SequeiraE SequeiraCPPclang++18.1.3Success419,253+0.19 RP
Dec 14, 2024 13:41E SequeiraE SequeiraCPPclang++18.1.3Success422,663+1.97 RP
Dec 14, 2024 13:29E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 12:24E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 12:22E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 12:20E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 12:18E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 12:16E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 12:14E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 12:11E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 12:08E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 12:06E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 12:04E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 12:03E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 12:00E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 11:59E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 11:57E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 11:55E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 11:50E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 11:48E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 11:45E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 11:42E SequeiraE SequeiraGOgo1.23.4Error
Dec 14, 2024 11:33E SequeiraE SequeiraGOgo1.23.4Success1,259,378
Dec 14, 2024 11:25E SequeiraE SequeiraGOgo1.23.4Error
Dec 13, 2024 07:54NoSIMD_C#NoSIMD_C#CSHARP9.0.0Success29,245
Dec 12, 2024 22:45Joad NacerJoad NacerCPPg++13.2.0Success4,452+2.52 RP
Dec 12, 2024 22:44Joad NacerJoad NacerCPPclang++18.1.3Success5,759
Dec 11, 2024 22:59E SequeiraE SequeiraCPPclang++18.1.3Success478,419
Dec 11, 2024 22:51E SequeiraE SequeiraGOgo1.23.4Error
Dec 11, 2024 22:48E SequeiraE SequeiraGOgo1.23.4Error
Dec 11, 2024 22:46E SequeiraE SequeiraGOgo1.23.4Error
Dec 11, 2024 22:43E SequeiraE SequeiraGOgo1.23.4Error
Dec 11, 2024 22:41E SequeiraE SequeiraGOgo1.23.4Error
Dec 11, 2024 22:39E SequeiraE SequeiraGOgo1.23.4Error
Dec 11, 2024 22:36E SequeiraE SequeiraGOgo1.23.4Error
Dec 11, 2024 22:35E SequeiraE SequeiraGOgo1.23.4Error
Dec 11, 2024 22:30E SequeiraE SequeiraGOgo1.23.4Error
Dec 11, 2024 22:28E SequeiraE SequeiraGOgo1.23.4Error
Dec 11, 2024 22:27E SequeiraE SequeiraGOgo1.23.4Error
Dec 11, 2024 22:15E SequeiraE SequeiraGOgo1.23.4Error
Dec 11, 2024 22:11E SequeiraE SequeiraGOgo1.23.4Error
Dec 11, 2024 22:02E SequeiraE SequeiraGOgo1.23.4Error
Dec 11, 2024 22:01E SequeiraE SequeiraGOgo1.23.4Error