deprecating std.stream, std.cstream, std.socketstream
Steven Schveighoffer
schveiguy at yahoo.com
Wed May 16 10:18:26 PDT 2012
On Wed, 16 May 2012 11:59:37 -0400, Walter Bright
<newshound2 at digitalmars.com> wrote:
> On 5/16/2012 7:38 AM, Steven Schveighoffer wrote:
>> On Wed, 16 May 2012 09:50:12 -0400, Walter Bright
>> <newshound2 at digitalmars.com>
>> wrote:
>>
>>> On 5/15/2012 3:34 PM, Nathan M. Swan wrote:
>>>> I do agree for e.g. with binary data some data can't be read with
>>>> ranges (when
>>>> you need to read small chunks of varying size),
>>>
>>> I don't see why that should be true.
>>
>> How do you tell front and popFront how many bytes to read?
>
> std.byLine() does it.
Have you looked at how std.byLine works? It certainly does not use a
range interface as a source.
> In general, you can read n bytes by calling empty, front, and popFront n
> times.
I hope you are not serious! This will make D *the worst performing* i/o
language.
This should be evidence enough:
steves at steves-laptop:~$ time dd if=/dev/zero of=/dev/null bs=1
count=1000000
1000000+0 records in
1000000+0 records out
1000000 bytes (1.0 MB) copied, 0.74052 s, 1.4 MB/s
real 0m0.744s
user 0m0.176s
sys 0m0.564s
steves at steves-laptop:~$ time dd if=/dev/zero of=/dev/null bs=1000
count=1000
1000+0 records in
1000+0 records out
1000000 bytes (1.0 MB) copied, 0.00194096 s, 515 MB/s
real 0m0.006s
user 0m0.000s
sys 0m0.004s
-Steve
More information about the Digitalmars-d
mailing list