Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace Erlang unicode with iconv in hot code path #69

Closed
wants to merge 1 commit into from

Conversation

naag
Copy link
Contributor

@naag naag commented Oct 29, 2018

Hi all, we use tds to query datasets with lots of NVARCHAR(MAX) data and discovered a performance issue in Tds.Types.decode_nchar/1. By replacing Erlang unicode with the iconv hex, the performance was massively improved without any other code changes (tests are passing).

@naag
Copy link
Contributor Author

naag commented Oct 29, 2018

Please excuse the big diff on mix.lock, this happened due to us using a different version of Elixir it seems.

@mjaric
Copy link
Member

mjaric commented Oct 29, 2018

Hi, thank you for contributing! I would like to check if there are any performance issues in case nif is accessed from more than one process.

Did you try using/compiling this in Windows OS?

@naag
Copy link
Contributor Author

naag commented Oct 29, 2018

Actually, that's a good point - we've just been using Linux.

@mjaric
Copy link
Member

mjaric commented Jul 31, 2019

this is solved with rust encoding NIF in support-1.1 tho requires some additional work for input parameters

@mjaric
Copy link
Member

mjaric commented Aug 9, 2019

closed in favor to #86

@mjaric mjaric closed this Aug 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants