Github user dlwh commented on the pull request: https://github.com/apache/incubator-spark/pull/575#issuecomment-35450646 @mengxr thanks for doing all this! It's nice to see that the overhead in Breeze is largely negligible as compared to MTJ (and maybe even slightly better sometimes?). I'm pretty aggressive in avoiding auto-boxing in Breeze, and there are relatively few implicit conversions. Auto-boxing definitely crops up here and there, but between codegen and specialization, I think most of the tight loops are entirely unboxed. Spire's macros would hopefully remove some of the byte code bloat from the codegen.. (and @VladUreche's miniboxing might make things even better, one day.) @fommil is right that implicits really don't cause a performance problem, especially not the way they're used in Breeze (which is to say, few implicit conversions, lots of implicit parameters). Generic programming can be a problem, and implicit parameters make it tempting to do more of it. I'm curious to know what you guys found in the past with Breeze. The only thing I ever heard from ya'll before now was someone trying to update a CSCMatrix constantly, which is just always going to be slow. (I'm sure there must be problems. Breeze is young enough that some code paths aren't as tested as they could be.)
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. To do so, please top-post your response. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---