[squeak-dev] Urgent, Spur users please read, was: The Inbox: Kernel-kfr.858.mcz

Chris Muller asqueaker at gmail.com
Tue Jun 17 15:35:15 UTC 2014


>> If you're chained to FileBased, it will not work well forever, guaranteed.
>
> Again: This is not about files. At all.

Until someone can find the will to propagate that case-logic crap to
all the other MCRepository types, any user of branches will be
restricted to FileBased repositories.

But I'm even doubtful that it even CAN be easily brought to all the
other types because it increases their search/processing burden to
include scanning for period.  That's something that fits right into
the implementation of the unscalable FileBased system, which is forced
read entire contents of some ever-growing directory of files to do
anything.

Since its already incurred the cost of doing that, it's got all of the
thousands of versions all the way back to version .1 in memory (which
it never needs, so this is terribly wasteful again and again), and so
String-scanning every version-name for the branch dot in memory is
low-cost.

But, in a DB-oriented repository, the DB didn't already have to incur
unnecessary cost.  It uses indexes up front on packageName to access a
result-set based on only the minimum of what's _needed_ for that
operation.  It's simple, beautiful and efficient.  _Maybe_ some kind
of special-processing index could be rigged-up to serve the
branch-purpose, but when its so much easier to simply use the
ancestry, who will ever do that work?

So, that's why I'm saying, for all practical purposes, right now,
using "branches" = FileBased only.


More information about the Squeak-dev mailing list