Uploaded image for project: 'MariaDB Connector/node.js'
  1. MariaDB Connector/node.js
  2. CONJS-291

performance reading column definition packet improvement

Details

    • Task
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • None
    • 3.3.1
    • performance
    • None

    Description

      Parsing metadata names is very costly, to give an idea, for a resultset like a query selecting 100 int, here are some benchmarks :

      • solution A : parsing metadata string (table name, table alias, ...) : 6,677.3 operation per second
      • solution B : coping buffer metadata part: 8,014.3 ops/s
      • solution C : keeping buffer : 8,781.6 operation per seconds.

      Most of the time, depending on option, either 0 or 1 of these metadata is needed.
      Current implementation is using implementation B, since the report of CONJS-223 (metadata sporadic corruption)

      Goal of this task is to investigate better the CONJS-233 issue, in order to permit using solution C.

      Attachments

        Activity

          diego dupin Diego Dupin created issue -
          diego dupin Diego Dupin made changes -
          Field Original Value New Value
          Description Parsing metadata names is very costly, to give an idea, for a resultset like a query selecting 100 int, here are some benchmarks :
          * solution A : parsing metadata string (table name, table alias, ...) : 6,677.3 operation per second
          * solution B : coping buffer metadata part: 8,014.3 ops/s
          * solution C : keeping buffer : 8,781.6 operation per seconds.

          Most of the time, depending on option, either 0 or 1 of these metadata is needed.
          Current implementation is using implementation B, since the report of CONJS-223 (metadata sporadic corruption)

          Goal of this task is to investigate node pool buffer implementation because buffer is normally not reused, that would permit using solution C.
          Parsing metadata names is very costly, to give an idea, for a resultset like a query selecting 100 int, here are some benchmarks :
          * solution A : parsing metadata string (table name, table alias, ...) : 6,677.3 operation per second
          * solution B : coping buffer metadata part: 8,014.3 ops/s
          * solution C : keeping buffer : 8,781.6 operation per seconds.

          Most of the time, depending on option, either 0 or 1 of these metadata is needed.
          Current implementation is using implementation B, since the report of CONJS-223 (metadata sporadic corruption)

          Goal of this task is to investigate better the CONJS-233 issue, in order to permit using solution C.
          diego dupin Diego Dupin made changes -
          Fix Version/s 3.3.1 [ 29822 ]
          Fix Version/s 3.3 [ 29406 ]
          diego dupin Diego Dupin made changes -
          Component/s performance [ 15307 ]
          Resolution Fixed [ 1 ]
          Status Open [ 1 ] Closed [ 6 ]

          People

            diego dupin Diego Dupin
            diego dupin Diego Dupin
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.