D - wc in D
- joe vpop.net (16/16) Feb 26 2004 Hi,
- Sean Kelly (9/23) Feb 26 2004 I think the wc example was a bit simplified because it was an example.
Hi, I just heard about D, and thought I'd give it a try. I ran the wc D program found here: http://www.digitalmars.com/d/wc.html on a 196MB file on linux. I got the numbers output to me in about 3 seconds, however I had to wait 6 more *minutes* before the program ended. The resident size of the program was about 188MB. This contrasts with /usr/bin/wc which ran in about 3 seconds and used 300KB of memory. Anyways, it looks like D is trying to do garbage collection at the end of the program when it doesn't need to... it can just exit. Also, the 6 minutes seems a bit long. thanks, -joe
Feb 26 2004
joe vpop.net wrote:Hi, I just heard about D, and thought I'd give it a try. I ran the wc D program found here: http://www.digitalmars.com/d/wc.html on a 196MB file on linux. I got the numbers output to me in about 3 seconds, however I had to wait 6 more *minutes* before the program ended. The resident size of the program was about 188MB.I think the wc example was a bit simplified because it was an example. std.file.read will read the entire file into a memory buffer. This isn't most efficient approach with a 196MB file. This would also explain why the memory footprint of the program was almost the same as the file size. A more efficient approach would be to use std.stream. You could try to adapt the program as an exercise :)Anyways, it looks like D is trying to do garbage collection at the end of the program when it doesn't need to... it can just exit. Also, the 6 minutes seems a bit long.Agreed. Sean
Feb 26 2004