As long as the dict is concretely typed, it should be pretty good. (I can't 
comment about string keys, but you probably could! I think Symbols are more 
performant than strings for indexing.)

Also, small correction: I should have used get! instead of get. You want to 
set that new value in the Dict.

--Tim

On Monday, May 18, 2015 05:37:00 PM Scott Jones wrote:
> How well do Dict’s perform currently in Julia?  I hope pretty well!  Thanks,
> that’s more what I needed…
> 
> -Scott
> 
> > On May 18, 2015, at 5:34 PM, Tim Holy <tim.h...@gmail.com> wrote:
> > 
> > If you really want to get the index back, perhaps better might be a dict:
> > 
> > counter = 0
> > d = Dict{KeyType,Int}()
> > for item in list
> > 
> >    idx = get(d, item, counter+1)
> >    if idx > counter
> >    
> >        counter += 1
> >    
> >    end
> >    # Do whatever you plan to do with idx
> > 
> > end
> > 
> > --Tim
> > 
> > On Monday, May 18, 2015 02:24:25 PM Scott Jones wrote:
> >> I suppose I could use a set simply to determine if it was present or not,
> >> and then push! to another array if not present... just didn't seem as
> >> efficient as what I'm used to...
> >> 
> >> On Monday, May 18, 2015 at 4:53:02 PM UTC-4, Jameson wrote:
> >>> use a Set?
> >>> http://docs.julialang.org/en/latest/stdlib/collections/?highlight=set
> >>> 
> >>> On Mon, May 18, 2015 at 4:46 PM Scott Jones <scott.pa...@gmail.com
> >>> 
> >>> <javascript:>> wrote:
> >>>> I would like to be able to do the following in Julia:
> >>>> Take a UInt64 (or UInt128, for that matter), and add it to an array, if
> >>>> it is not already present, returning the index.
> >>>> (This would be trivial in the language I used to work on, and I think
> >>>> it
> >>>> probably is in Julia as well, but I haven't found the right data
> >>>> structure
> >>>> yet...)
> >>>> What would be the best performing way of handling that?
> >>>> What if, instead of an UInt64 or UInt128, I had an array of bytes (like
> >>>> 128 or 256)?  What would be the best way for that?
> >>>> 
> >>>> Thanks, Scott

Reply via email to