ASF GitHub Bot commented on ARROW-2144:

trxcllnt commented on a change in pull request #1599: ARROW-2144: [JS] Don't 
repeat dictionary lookups in DataFrame ops
URL: https://github.com/apache/arrow/pull/1599#discussion_r167719671

 File path: js/src/vector.ts
 @@ -414,6 +414,16 @@ export class DictionaryVector<T extends DataType = 
DataType> extends Vector<Dict
     public getKey(index: number) { return this.indicies.get(index); }
     public getValue(key: number) { return this.dictionary.get(key); }
+    public reverseLookup(value: T): number|undefined {
+        let key = -1;
+        for (let len = this.dictionary.length; ++key < len;) {
+            if (this.dictionary.get(key) === value) {
 Review comment:
   @TheNeuralBit is it worthwhile to cache the dictionary lookup in a local 
variable to avoid the repeated `this.dictionary` lookups?

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:

> [JS] Don't repeat dictionary lookups in DataFrame ops
> -----------------------------------------------------
>                 Key: ARROW-2144
>                 URL: https://issues.apache.org/jira/browse/ARROW-2144
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: JavaScript
>            Reporter: Brian Hulette
>            Priority: Major
>              Labels: pull-request-available
> Currently we repeat dictionary lookups every time we bind a new record batch 
> when doing an equality check in a DataFrame op 
> (https://github.com/apache/arrow/blob/master/js/src/predicate.ts#L143).
> In most cases the dictionary won't be changing between record batches, so we 
> should remember these reverse dictionary lookups, either permanently, or at 
> least for the duration of the current operation.

This message was sent by Atlassian JIRA

Reply via email to