sepinf-inc / IPED

IPED Digital Forensic Tool. It is an open source software that can be used to process and analyze digital evidence, often seized at crime scenes by law enforcement or in a corporate investigation by private examiners.
Other
886 stars 211 forks source link

Minor optimization in StandardParser when processing multi-valued metadata with many values #2014

Closed wladimirleite closed 7 months ago

wladimirleite commented 7 months ago

While working on another issue, I detected that the following piece of code in StandardParser class may waste some processing time when dealing with multi-valued metadata with many values, which is not usual, but may happen.

String text = name + ": ";
for (String value : metadata.getValues(name)) {
    text += value + " ";
}

In my case, many items have "Communication:To" metadata with ~16,000 values and it takes ~3s in my machine to finish the loop above. Using a StringBuilder reduced the time to a couple of milliseconds.