Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] what is the functional way to solve this problem?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Pierre Weis <weis@p...>
Subject: Re: [Caml-list] what is the functional way to solve this problem?
[...]
> Hm, with your version it's only 3 times slower:
[...]
> However, your code is not correct:
> >         Scanf.bscanf Scanf.Scanning.stdib " %d %d %s"
> ----------------------------------------------------^^
> 
> It should be [^\n], as filenames can contain spaces. In this case:

I did not know the complete specification :)

However, your proposed patch is rather inefficient:

> It should be [^\n], as filenames can contain spaces. In this case:
---------------^^^^^

You should prefer %s@\n, if efficiency is a concern (which since to be the
case :)

> Well, it's 15 times slower.

Could you please let me have access to the data to be able to test the
code without bothering you ?

Thank you very much indeed for your testbed case, since you exhibit
situations where there is room for improvement in the implementation
of scanf (or at least there is the necessity to explain what are the
efficient pattern constructs for Scanf).

> All tests were run on athlon 1.56GHz, under pld-linux, ocaml 3.07,
> ocamlopt -unsafe -inline 9.
> -- 
> : Michal Moskal :: http://www.kernel.pl/~malekith : GCS {C,UL}++++$ a? !tv
> : When in doubt, use brute force. -- Ken Thompson : {E-,w}-- {b++,e}>+++ h

Thanks for the precision. I use a (now old) 700MHZ pentium III, but
since we just compare the efficiency of different versions of the same
program, I think that the machine hardware kind is not critical.

Best regards,

Pierre Weis

INRIA, Projet Cristal, Pierre.Weis@inria.fr, http://pauillac.inria.fr/~weis/


-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners