-
Notifications
You must be signed in to change notification settings - Fork 50
Type-instability in PooledDataArray's? #57
Comments
Following up on this, I'd really like to stop having the Can we agree to only use For example, the smallest vector of |
Is it really so complex to handle? I think it would be too bad to lose the ability to use a compact storage when the number of levels is under 255, which is typically the case. A factor of 4 is not something to disregard. Maybe with some hacks it would even be possible to use only 4 bits for PDAs with less than 16 levels, which is quite common too. I think people working with DNA sequences would appreciate this kind of efficient storage. Without evidence that the type instability of the refs is a performance issue in some places, I wouldn't remove this feature. And even if a few places suffered from this, without making the code too ugly it should be possible to write kernels as separate functions which would be specialized on the type. |
@nalimilan: I hope this doesn't come off as rude, but some of your comments occasionally make me feel as if you don't realize how large a chunk of my life has been and is spent maintaining this codebase. On almost every day of my life for the last year and a half, I wake up, go to work and then, once I get home, work on this codebase until I go to bed. Every additional line of code that I have to maintain is a meaningful degradation in my quality of life. That said, I'm still open to debating this issue. But it would make my days a lot more enjoyable if you kept in mind how much stress I already have to deal with each day to keep Julia moving forward. |
Yeah, I'm sorry if my comments sound negative and like I'm nagging you. ;-) Unfortunately, I can't spend that much time working on Julia. Since my primary work is my PhD thesis, I can only help with relatively small things, and give the point of view of somebody doing social science in case it is useful. Do what you want of my remarks; I'm just underlining what seems important for users like me, and what doesn't, but in the end of course the one who does the work gets to decide what are the priorities. Also, you have set the bar high, that's why I'm always asking for more! :-) |
No worries at all. I really appreciate your comments, since you've both very astute and very polite. And, even though it often create more works for me to do, you're usually dead on accurate about a lot of things that I haven't thought out well enough. So please keep letting us know where you'd like Julia to go. You're doing a good job of keeping me honest. And I really appreciate the work you've been doing to build a Julia RPM. I mostly wanted to communicate to you that I occasionally feel burnt out by the amount of work that's still left to do on Julia. To keep going despite that, I find it helpful to let myself get away with less than ideal design decisions at times. Offering fewer features and less flexibility to end users makes it much easier for me to get the core infrastructure designed correctly. |
Be careful, if you encourage me you're going to get even more feature requests. ;-) Regarding the issue at hand, it may still be reasonable to only support |
I am working towards a roadmap for DataArrays, which should serve that purpose. |
While trying to clean up the PDA code, I realized that our current approach, which allows PDA's to change the type of their references field, might be introducing type-instability into our code. I don't know if there are specific cases where this is a problem yet, but it seems worth starting to debate.
The text was updated successfully, but these errors were encountered: