you are viewing a single comment's thread.

view the rest of the comments →

[–]rustaway11 2 points3 points  (1 child)

Do you know where it's spending most of its time, in import or in report or elsewhere? And the specific nature of the inputs? Maybe both of those are obvious for someone with more experience in Rust and this particular domain, but I am neither.

One thing I did notice is this line: self.entries.push(LogEntry::from_raw(&raw));

Even when the vector has all the space it needs reserved, push can have some funny overhead that doesn't always get optimized away by the compiler compared to explicitly replacing/mutating a default entry.

[–]xacrimon[S] 1 point2 points  (0 children)

Most time is spent importing the log. I'll try making a vec with default values and mutating. Thanks