22-Dec-2013 02:16, monarch_dodra пишет:
On Saturday, 21 December 2013 at 21:38:59 UTC, Dmitry Olshansky wrote:
As it stands the only thing lazy buys us is "pay as you touch"
contrary to "pay as you name the intent to touch". The problem is that
the payment is for the whole stock of the said "shop". I see second
problem (granularity of imports) as far more critical then the first
(condition under which the pieces are imported). The second problem
seems solvable within the current implementation, the first seems like
it would need arbitrary amount of time to fix and gains are marginal.

We should also keep in mind that as we split up modules and split apart
dependencies, it also means that *as* we import a specific package, we
are increasing our "use/import" ratio, further diminishing the issue of
"import things we don't need." (who would import "std.foo.bar.baz", if
they weren't planning to use baz?).

The main gain is to the library code be it Phobos itself or any 3rd party code. Application code is import-happy by definition and only few folks at this level would care to import things in such a fine garined manner.

>
> Arguably, we'd get "quadratic" effectiveness ;)

In mind the constant factor is increasing (as in more files, more syscalls) but as the total LOCs per package version of a module stays the same I fail to see any substantial efficiency loss.

--
Dmitry Olshansky

Reply via email to