Closed ExpandingMan closed 6 years ago
As far as I know, Union{T, Void} will be slow in 0.6, so this might need to be version bound to 0.7? Although, having said that, JDBC is not the fastest it could be right now in any case.
As far as I can tell, Nullable
is only used to describe the presence of fields in data structures and these only need to be checked as part of initializations and never in loops for pulling data. Any degradation in performance resulting from a switch to Union{T, Void}
should therefore be trivial. (In fact, since the underlying objects are non bits types and they are never used in arrays there may be no performance impact at all.)
The single biggest performance issue in JDBC.jl seems to be the unboxing of functions that are looked up in a Dict
, but because of the way that JDBC pulls data (i.e. getFloat
, getString
etc) this may not really be fixable. I don't think there's anything else that should be slow (though I'm pretty ignorant about how JavaCall works).
This has been done.
Instances of
Nullable{T}
should be replaced withUnion{T, Void}
asNullable
will become deprecated in 0.7.I'll make a PR for this at some point but let's get #32 squared away first.