lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

Hi all,

I have a performance issue in my application. I would like to gather some ideas on what I can do to improve it. The application is very easy: I need to add values inside a nested table to get the total an user wants to pay out of all the pending payments. The user chooses a number of payments and I calculate how much it is they will pay.

This is what I have:

jsonstr = "{ "name": "John", "surname": "Doe", "pending_payments": [ { "month": "january", "amount": 50, }, { "month": "february", "amount": 40, }, { "month": "march", "amount": 45, }, ] }" local lunajson = require 'lunajson' local t = lunajson.decode(jsonstr) local limit -- I get this from the user local total = 0; for i=1, limit, 1 do total = total + t.pending_payments[i].amount; end;

It works. At the end I get what I need. However, I notice that it takes ages to do the calculation. Each JSON has only twelve pending payments (one per month). It is taking between two to three seconds to come up with a result!. I tried on different machines and LUA 5.1, 5.2., 5.3. and the result is the same.

Can anyone please suggest how I can implement this better?

Thank you!


PD: I posted the same question on stackoverflow.