You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MsgExport has a functionality to export all history into text files.
However, this export is approximately 7-10x slower than for example history++'s message export.
In comparison:
History++ for my biggest contact: 26.6s
MsgExport for the same contact: 3 minutes 33seconds
That's eight times slower.
I understand there will always be some discrepancy because history++ only exports per contact whereas MsgExport is able to cleverly combine multiple contacts with the same nickname into one output file, thus grabbing a bit more data; but the contact in question has 90% of text in one protocol, and even so the time it takes to export all data seems too high.
I noticed that in processexplorer, you can see that msgexport constantly opens and closes the file, whereas history++ just flushes a bunch of data into a file and then closes it. Maybe implementing this type of "do it all in RAM and then flush it to a file" mode for the "Export All" function would be interesting.
The text was updated successfully, but these errors were encountered:
…esses #609)
Previously code worked with opening file and loading BOM at writing each event. When we stopped closing/opening file at each event it couldn't read BOM anymore, so it wrote messages in wrong codepage.
This is not fixed by parameter defining we are just appending the file, so it doesn't need to determing BOM or even check file size. Thanks to this exporting is now about 70% faster than the initial optimization commit (in sum 13.5x faster than before).
MsgExport has a functionality to export all history into text files.
However, this export is approximately 7-10x slower than for example history++'s message export.
In comparison:
History++ for my biggest contact: 26.6s
MsgExport for the same contact: 3 minutes 33seconds
That's eight times slower.
I understand there will always be some discrepancy because history++ only exports per contact whereas MsgExport is able to cleverly combine multiple contacts with the same nickname into one output file, thus grabbing a bit more data; but the contact in question has 90% of text in one protocol, and even so the time it takes to export all data seems too high.
I noticed that in processexplorer, you can see that msgexport constantly opens and closes the file, whereas history++ just flushes a bunch of data into a file and then closes it. Maybe implementing this type of "do it all in RAM and then flush it to a file" mode for the "Export All" function would be interesting.
The text was updated successfully, but these errors were encountered: