[QFJ-582] Converters improvement for better performance Created: 30/Mar/11  Updated: 29/May/17

Status: Open
Project: QuickFIX/J
Component/s: Engine
Affects Version/s: 1.5.0
Fix Version/s: Future Releases

Type: Improvement Priority: Default
Reporter: Abla Nait Assignee: Eric Deshayes
Resolution: Unresolved Votes: 0
Labels: None


 Description   

Improve performance converters (double, int) and add tests to cover all cases.



 Comments   
Comment by Jörg Thönnes [ 30/Mar/11 ]

Hi Nait,

what kind of performance improvements you are planning. I have also some thoughts collected over the last years.

Cheers, Jörg

Comment by Abla Nait [ 30/Mar/11 ]

Remove Matcher in double converter and verify only if the first charater is not '+', other cases will be handled by parseDouble; and ditto for int converter.

Comment by Abla Nait [ 30/Mar/11 ]

Hi Jorg,
this is mainly very focused parsing improvements that we've done after some profiling and that we are integrating to the trunk (as part of the integration of our changes).

I let you open another JIRA for other or deeper improvements.
We could have some talks about it to share your thoughts with ours.

Regards,
Abla

Comment by Steve Bate [ 26/Apr/11 ]

As we discussed on the developer list, the current converter implementation is not FIX-compliant. The purpose for the Regex match to validate the input before passing it to Double for parsing. If this is causing significant performance issues then we may want to implement a fast double parsing function that validates while is parses/converts the string to a double. We should also add a unit test that shows the conversion fails for formats like "1e6" (scientific notation) which is not allowed by FIX.

Comment by Eric Deshayes [ 29/Apr/11 ]

As discussed previously, changes have been reverted.
Committed in integration branch in Rev#1025.

Comment by Eric Deshayes [ 20/May/11 ]

As discussed, some improvement on the converters could be done but they should not change the FIX compliance.

Changes have been reverted and performance improvements will be handled later.

Generated at Fri May 17 13:09:24 UTC 2024 using JIRA 7.5.2#75007-sha1:9f5725bb824792b3230a5d8716f0c13e296a3cae.