| [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, I let you open another JIRA for other or deeper improvements. Regards, | 
| 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. | 
| 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. |