Re: [Vala] Why is Vala 10 times slower than C ?
- From: Luca Bruno <lethalman88 gmail com>
- To: Serge Hulne <serge hulne gmail com>
- Cc: vala-list gnome org
- Subject: Re: [Vala] Why is Vala 10 times slower than C ?
- Date: Mon, 6 Jun 2011 14:36:47 +0200
On Mon, Jun 06, 2011 at 02:12:37PM +0200, Serge Hulne wrote:
I used "wordcount" as a test to compare the processing speed of Vala against
C:
I obtained the following result:
---
C:
---
serge:vala serge2$ time wc ../shakespeare.txt
495200 2703240 15862370 ../shakespeare.txt
real 0m0.194s
user 0m0.176s
sys 0m0.015s
---
Vala:
---
serge:vala serge2$ time ./hello
lc = 495201. wc = 3170980
real 0m2.258s
user 0m2.223s
sys 0m0.028s
-------
The vala code is as follows:
class HelloWorld : GLib.Object {
public static int main(string[] args) {
var f = FileStream.open("../shakespeare.txt", "r");
var line = "";
var wc = 0;
var lc = 0;
while (!f.eof()) {
line = f.read_line(); lc++;
if (line == null) break;
//stdout.printf("line = %s\n", line);
var words = line.split(" ");
for (int i=0; i<words.length; i++) {
//stdout.printf("word = %s\n", words[i]);
wc++;
}
}
stdout.printf("lc = %d. wc = %d\n", lc, wc);
return 0;
}
}
1) The GType system is initialized
2) read_line() is not as cheap as a getline()
3) str.split() is not as cheap as strtok()
You're just comparing them the wrong way.
--
http://www.debian.org - The Universal Operating System
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]