[Swift-devel] scalability updates
Ben Clifford
benc at hawaga.org.uk
Sun Mar 22 07:38:13 CDT 2009
On Mon, 9 Mar 2009, Mihael Hategan wrote:
> 2. A lazy range function (the [x:y] operator). The previous one was
> silly. Simply writing [0:1000000] would cause swift to run out of memory
> because it was trying to create a swift array with 1000000 elements
> before running a single iteration on it.
This (r2674) breaks some array-related functionality -
tests/language-behaviour/1101-array-range added in r2726 works with Swift
0.8 (and also in my head) but does not work with Swift r2522. Backing out
r2674 (which I did in r2725) makes this work again (bringing back more
correct behaviour but losing the scabaility introduced there)
r2674 also makes a exceptions appear in the provenance logging lines.
I think both of the above problems are to do with the messy internal
numerical datatype handling - in the log lines that are showing
exceptions, paths are rendered as [1.0] (or [n.0] in general) rather than
[1] or [n].
I guess whoever sorts this out and recommits first gets a cookie.
I also started playing with a test to check for exception stack traces in
the log files for any of the language-behaviour tests, on the assumption
that when running locally there should never be stack traces in the log
file; however it discovered some other places unrelated to the above where
the tests have been getting exceptions for some time (they're present in
0.8). So I have not committed that until I've looked at those cases and
tried to resolve them.
--
More information about the Swift-devel
mailing list