Why XmlTextReader become so slowly in Unity?

162 Views Asked by At

I need to parse a big XML file (≈100MB, 400000rows) then put the data in a List.

  • First I try to parse the XML file in a C# console application, it taked about 2s to finish the job.
  • Then I copy the code into Unity, and it taked about 17s to finish the job.

Anybody know why it become so slowly? And how to make it faster? Thanks!

Code:

// Used for storing data
stateList = new List<BallisticState>();
XmlTextReader reader = new XmlTextReader(filepath);
while (reader.Read())
{
    if (reader.NodeType == XmlNodeType.Element)
    {
        if (reader.Name == "row")
        {
            string value = reader.GetAttribute("value").TrimStart();

            BallisticState state = new BallisticState();
            // this method converts string to float
            SetBallisticState(state, value);

            stateList.Add(state);
        }
    }
}
0

There are 0 best solutions below