The `%' character is has a special meaning in Vcs' ,form files (it is
used to form tags like `<%= title %>'). If you forget to escape a
literal `%', Vcs produces abstruse error messages :
[vcs] info: Creating a new `,iform' file ...
[vcs] info: ,form already exists
[vcs] error: Removing `,iform' ...
[vcs] info: ,form: Contains your complete form (title, subject, ChangeLog entry, diff)
[vcs] info: ,log: Contains your Log entry
[vcs] error: compile error
[vcs] error: (erb):3: parse error, unexpected tGVAR
[vcs] error: $erbout_
[vcs] error: ^
Escaping the character with a backslash (`/') solves this problem, but
the backslash is left in the ChangeLog! Is there a right way to get
a literal `%', or a workaround?
>>>>> "Nicolas" == Nicolas Pouillard <nicolas.pouillard(a)gmail.com> writes:
Nicolas> Je pense qu'il faudrait que vous exposier ici vos besoins en
Nicolas> terme de tests de maniere a ce que l'on puisse mieux répondre
Nicolas> a vos attentes.
Il faudrait que je fasse la liste des services proposés par
l'infrastructure de tests d'Olena + ceux qu'on voudrait.
Nicolas> Soit dit en passant il faut toujours que l'on fasse cette
Nicolas> presentation d'Uttk ce qui permettra de mettre les choses au
Nicolas> claire dans la tête de tout le monde.
Je suis preneur ! (Je ne pense pas être le seul). Est-ce que vous avez
du temps pour ça ?
(Je crossposte dans lrde.proj pour que toutes les gens intéressées
fassent connaître leur opinion.)
Ce serait pas mal de faire croître la test suite en même temps que le
code d'Olena 1.0, en particulier pour tout le code template de Metalic
que l'on ne peut véritablement vérifier qu'en l'instanciant.
Personnellement, je ne suis pas très chaud pour conserver ce qui
existe actuellement dans le proto 1.0. À l'usage, je ne trouve pas ça
très pratique à utiliser (il est difficile de lancer un seul test, on
ne peut pas garder de traces d'un test qui réussit, etc.).
Donc, que choisit-on comme outil/cadre de test pour Olena 1.0 ? Les
propositions incluent :
1. garder le mécanisme actuel du proto 1.0 (càd, celui d'Olena 0.10) ;
2. se baser uniquement sur les services proposés par Automake ;
3. passer à un outil tiers comme DejaGnu, Autotest ou Uttk.
La troisième proposition me tente bien, mais je ne connaît aucun des
projets cités...
(Au passage, est-ce que ce genre de questions a sa place dans
lrde.olena.core, ou bien plutôt dans lrde.olena ?)
>>>>> "Nicolas" == Nicolas Pouillard <nicolas.pouillard(a)gmail.com> writes:
Nicolas> On 1/19/06, Roland Levillain <roland(a)lrde.epita.fr> wrote:
>> * existe-t-il une commande Vcs pour supprimer les
>> fichiers-supports de Vcs (`,log', `,form', `,iform', `,message') ?
Nicolas> Ya junk mais il retire tous les ,* en te posant la question
Nicolas> avant.
Nickel, merci !
Cependant, `help' ne le documente pas :
brasilia ~/src/tc % vcs-svn help junk
"junk": unknown command.
>> * Vcs n'honore pas complètement les noms de fichiers passés en
>> argument à la commande `commit' ; en effet, le diff présent dans
>> ,form se fait récursivement sur `.', et non sur ces fichiers. (Je
>> n'ai pas testé si le commit effectif ne s'applique qu'à ces
>> fichiers.) Exemple : si j'ai modifié foo.cc, bar.cc et baz.cc dans
>> ma copie de travail, et que j'invoque
>>
>> vcs-svn commit foo.cc bar.cc
>>
>> le fichier ,form qui apparaîtra dans mon éditeur fera mention des
>> changements sur baz.cc (ChangeLog + diff). C'est pas cool !
>>
Nicolas> Oui en effet mais cela doit etre coriger désormais.
Ok, c'est cool.
>> * dans la version de Vcs actuellement présente dans RubyGems
>> (0.4.1), le numéro de version est incorrect :
>>
>> brasilia ~ % grep version
>> /usr/lib/ruby/gems/1.8/gems/vcs-0.4.1/lib/vcs/vcs.rb\ | head -1
>> @@version ||= '0.4.0'
Nicolas> Et oui il me manque du temps pour releaser une nouvelle
Nicolas> version qui serait pourtant prete sur bcp de points.
Nicolas> J'ai tout de meme placer sur
Nicolas> http://www.lrde.epita.fr/~pouill_n/vcs les gem necessaires a
Nicolas> l'installation de la version beta.
Hé, je ne veux surtout pas t'embêter avec tout ça ! Je peux tout à
fait attendre la sortie de Vcs 0.5.0. :)
Je voulais juste dire que le numéro de version du répertoire de Vcs
dans RubyGems (/usr/lib/ruby/gems/1.8/gems/vcs-0.4.1) ne correspondait
pas avec celui que Vcs affiche (0.4.0).
>> * enfin (je sais que Noël est passé, mais je remets sur ma liste de
>> cadeaux cette fonctionnalité que je chéris) : Vcs pourrait-il
>> prendre en compte un ChangeLog écrit par l'utilisateur avant le
>> commit ?
Nicolas> Ca le fera un jour mais quand ?
Je le mets sur ma liste de Noël 2006 alors. :)
Je commence à utiliser Vcs de plus en plus, et j'apprécie le temps
qu'il me fait gagner. Cependant, j'ai quelques
questions/remarques/critiques à son sujet :
* existe-t-il une commande Vcs pour supprimer les fichiers-supports de Vcs
(`,log', `,form', `,iform', `,message') ?
* Vcs n'honore pas complètement les noms de fichiers passés en
argument à la commande `commit' ; en effet, le diff présent dans
,form se fait récursivement sur `.', et non sur ces fichiers. (Je
n'ai pas testé si le commit effectif ne s'applique qu'à ces
fichiers.)
Exemple : si j'ai modifié foo.cc, bar.cc et baz.cc dans ma copie de
travail, et que j'invoque
vcs-svn commit foo.cc bar.cc
le fichier ,form qui apparaîtra dans mon éditeur fera mention des
changements sur baz.cc (ChangeLog + diff). C'est pas cool !
* dans la version de Vcs actuellement présente dans RubyGems (0.4.1),
le numéro de version est incorrect :
brasilia ~ % grep version /usr/lib/ruby/gems/1.8/gems/vcs-0.4.1/lib/vcs/vcs.rb\
| head -1
@@version ||= '0.4.0'
* enfin (je sais que Noël est passé, mais je remets sur ma liste de
cadeaux cette fonctionnalité que je chéris) : Vcs pourrait-il
prendre en compte un ChangeLog écrit par l'utilisateur avant le
commit ?
En tout cas, bravo et merci pour Vcs, c'est un outil très pratique !
NOTE: This patch has been committed. The version below is
informational only (whitespace differences have been removed).
ChangeLog addition:
2006-01-09 Didier Verna <didier(a)lrde.epita.fr>
* 2.0/src/dd/cl/tsi.cl: Fix size and nsteps parameters.
* 2.0/txt/bench.didier: New.
GSC source patch:
Diff command: svn diff --diff-cmd /usr/bin/diff -x "-u -t -b -B -w"
Files affected: 2.0/src/dd/cl/tsi.cl 2.0/txt/bench.didier
Index: 2.0/txt/bench.didier
===================================================================
--- 2.0/txt/bench.didier (revision 0)
+++ 2.0/txt/bench.didier (revision 0)
@@ -0,0 +1,331 @@
+ BENCHMARKS RESULTS
+
+
+* Architecture
+
+Debian unstable.
+
+** uname -a
+
+Linux uzeb 2.4.27-2-686-smp #1 SMP Wed Nov 30 21:47:06 JST 2005 i686 GNU/Linux
+
+Note the SMP flag: the CPU has hyperthreading turned on; the OS sees two
+virtual processors.
+
+** cat /proc/cpuinfo
+
+processor : 0
+vendor_id : GenuineIntel
+cpu family : 15
+model : 3
+model name : Intel(R) Pentium(R) 4 CPU 3.00GHz
+stepping : 4
+cpu MHz : 2992.789
+cache size : 1024 KB
+fdiv_bug : no
+hlt_bug : no
+f00f_bug : no
+coma_bug : no
+fpu : yes
+fpu_exception : yes
+cpuid level : 5
+wp : yes
+flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni monitor ds_cpl cid
+bogomips : 5976.88
+
+processor : 1
+vendor_id : GenuineIntel
+cpu family : 15
+model : 3
+model name : Intel(R) Pentium(R) 4 CPU 3.00GHz
+stepping : 4
+cpu MHz : 2992.789
+cache size : 1024 KB
+fdiv_bug : no
+hlt_bug : no
+f00f_bug : no
+coma_bug : no
+fpu : yes
+fpu_exception : yes
+cpuid level : 5
+wp : yes
+flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni monitor ds_cpl cid
+bogomips : 5976.88
+
+
+
+* Benchmarks
+
+** Environment
+
+*** C
+
+gcc (GCC) 4.0.3 20051201 (prerelease) (Debian 4.0.2-5)
+Copyright (C) 2005 Free Software Foundation, Inc.
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+gcc -03 -DNDEBUG
+
+*** Java
+
+java version "1.5.0_06"
+Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
+Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing)
+
+javac: idem
+
+*** Eiffel
+
+SmartEiffel The GNU Eiffel Compiler, Eiffel tools and libraries
+Release 1.1 Release (Monday June 16th 2003) [Charlemagne]
+Copyright (C), 1994-2003 - INRIA - LORIA - UHP - Nancy 2 - FRANCE
+D.COLNET, S.COLLIN, O.ZENDRA, P.RIBET, C.ADRIAN - SmartEiffel(a)loria.fr
+http://SmartEiffel.loria.fr
+
+compile_to_c -boost / then C compilation
+
+*** Common Lisp
+
+XEmacs / Slime / CMU-CL
+
+CMU Common Lisp CVS 19c 19c-release + minimal debian patches (19C), running on
+uzeb With core: /usr/lib/cmucl/lisp.core
+Dumped on: Mon, 2005-12-12 10:05:58+01:00 on uzeb
+
+Loaded subsystems:
+ Python 1.1, target Intel x86
+ CLOS based on Gerd's PCL 2004/04/14 03:32:47
+
+
+** Dedicated versions
+
+*** C
+
+Linear / 800x800 / 200 steps:
+SB: 0.31
+MB: 0.33
+
+Randomized / 800x800 / 200 steps:
+SB: 10.82
+MB: 8.86
+
+
+*** Java
+
+Linear / 800x800 / 200 steps:
+SB: 0.35
+MB: 0.57
+
+Randomized / 800x800 / 200 steps:
+SB: 11.00
+MB: 9.10
+
+
+*** Eiffel
+
+Linear / 800x800 / 200 steps:
+SB: 0.40
+MB: 1.06
+
+Randomized / 800x800 / 200 steps:
+SB: 11.04
+MB: 9.00
+
+*** Common Lisp
+
+;;; Optimized benches for 200 step(s):
+;; Linear / Untyped / Multibuffer:
+; Evaluation took:
+; 2.48 seconds of real time
+; 2.49 seconds of user run time
+; 0.0 seconds of system run time
+; 7,429,347,345 CPU cycles
+; 0 page faults and
+; 0 bytes consed.
+;
+;; Linear / Untyped / Singlebuffer / AREF:
+; Evaluation took:
+; 1.32 seconds of real time
+; 1.29 seconds of user run time
+; 0.02 seconds of system run time
+; 3,949,483,710 CPU cycles
+; 0 page faults and
+; 0 bytes consed.
+;
+;; Linear / Untyped / Singlebuffer / SVREF:
+; Evaluation took:
+; 1.12 seconds of real time
+; 1.11 seconds of user run time
+; 0.0 seconds of system run time
+; 3,345,343,913 CPU cycles
+; 0 page faults and
+; 0 bytes consed.
+;
+
+;;; Optimized benches for 200 step(s):
+;; Randomized / Untyped / Multibuffer:
+; Evaluation took:
+; 42.61 seconds of real time
+; 42.55 seconds of user run time
+; 0.0 seconds of system run time
+; 127,510,882,845 CPU cycles
+; 0 page faults and
+; 0 bytes consed.
+;
+;; Randomized / Untyped / Singlebuffer / AREF:
+; Evaluation took:
+; 38.69 seconds of real time
+; 38.66 seconds of user run time
+; 0.01 seconds of system run time
+; 115,775,643,570 CPU cycles
+; 0 page faults and
+; 0 bytes consed.
+;
+;; Randomized / Untyped / Singlebuffer / SVREF:
+; Evaluation took:
+; 38.76 seconds of real time
+; 38.63 seconds of user run time
+; 0.11 seconds of system run time
+; 116,005,607,213 CPU cycles
+; 0 page faults and
+; 0 bytes consed.
+;
+
+;;; Optimized benches for 200 step(s):
+;; Linear / Typed / Multibuffer:
+; Evaluation took:
+; 2.82 seconds of real time
+; 2.83 seconds of user run time
+; 0.0 seconds of system run time
+; 8,467,002,300 CPU cycles
+; 0 page faults and
+; 0 bytes consed.
+;
+;; Linear / Typed / Singlebuffer / AREF:
+; Evaluation took:
+; 0.55 seconds of real time
+; 0.55 seconds of user run time
+; 0.0 seconds of system run time
+; 1,636,237,845 CPU cycles
+; 0 page faults and
+; 0 bytes consed.
+;
+;; Linear / Typed / Singlebuffer / SVREF:
+; Evaluation took:
+; 0.55 seconds of real time
+; 0.52 seconds of user run time
+; 0.03 seconds of system run time
+; 1,651,320,795 CPU cycles
+; 0 page faults and
+; 0 bytes consed.
+;
+
+;;; Optimized benches for 200 step(s):
+;; Randomized / Typed / Multibuffer:
+; Evaluation took:
+; 28.21 seconds of real time
+; 28.18 seconds of user run time
+; 0.03 seconds of system run time
+; 84,420,916,523 CPU cycles
+; 0 page faults and
+; 0 bytes consed.
+;
+;; Randomized / Typed / Singlebuffer / AREF:
+; Evaluation took:
+; 18.4 seconds of real time
+; 18.37 seconds of user run time
+; 0.01 seconds of system run time
+; 55,038,771,285 CPU cycles
+; 0 page faults and
+; 0 bytes consed.
+;
+;; Randomized / Typed / Singlebuffer / SVREF:
+; Evaluation took:
+; 19.32 seconds of real time
+; 19.16 seconds of user run time
+; 0.04 seconds of system run time
+; 57,815,967,854 CPU cycles
+; 0 page faults and
+; 0 bytes consed.
+;
+
+;;; Optimized benches for 200 step(s):
+;; Linear / Typed / Sized / Multibuffer:
+; Evaluation took:
+; 1.09 seconds of real time
+; 1.09 seconds of user run time
+; 0.01 seconds of system run time
+; 3,289,851,878 CPU cycles
+; 0 page faults and
+; 0 bytes consed.
+;
+;; Linear / Typed / Sized / Singlebuffer / AREF:
+; Evaluation took:
+; 0.54 seconds of real time
+; 0.53 seconds of user run time
+; 0.01 seconds of system run time
+; 1,613,471,783 CPU cycles
+; 0 page faults and
+; 0 bytes consed.
+;
+;; Linear / Typed / Sized / Singlebuffer / SVREF:
+; Evaluation took:
+; 0.55 seconds of real time
+; 0.55 seconds of user run time
+; 0.0 seconds of system run time
+; 1,659,704,692 CPU cycles
+; 0 page faults and
+; 0 bytes consed.
+;
+
+;;; Optimized benches for 200 step(s):
+;; Randomized / Typed / Sized / Multibuffer:
+; Evaluation took:
+; 22.03 seconds of real time
+; 22.02 seconds of user run time
+; 0.01 seconds of system run time
+; 65,924,021,535 CPU cycles
+; 0 page faults and
+; 0 bytes consed.
+;
+;; Randomized / Typed / Sized / Singlebuffer / AREF:
+; Evaluation took:
+; 19.19 seconds of real time
+; 19.16 seconds of user run time
+; 0.02 seconds of system run time
+; 57,427,619,017 CPU cycles
+; 0 page faults and
+; 0 bytes consed.
+;
+;; Randomized / Typed / Sized / Singlebuffer / SVREF:
+; Evaluation took:
+; 19.22 seconds of real time
+; 19.17 seconds of user run time
+; 0.08 seconds of system run time
+; 57,512,349,082 CPU cycles
+; 0 page faults and
+; 0 bytes consed.
+;
+
+
+*** Summary
+
+ Linear Randomized
+C 0.31 - 0.33 10.82 - 8.86
+Java 0.35 - 0.57 11.00 - 9.10
+Eiffel 0.40 - 1.06 11.04 - 9.00
+Commom Lisp 0.55 - 1.10 18.38 - 22.03
+
+Note for Common Lisp: the best MB version is the sized one, and makes a big
+difference. The best randomized MB version is also the sized one.
+
+Single buffer versions: randomized time ~ 30 * linear time
+Multi buffer versions: randomized time ~ 20 * linear time
+
+
+
+
+Local Variables:
+mode: outline
+End:
Index: 2.0/src/dd/cl/tsi.cl
===================================================================
--- 2.0/src/dd/cl/tsi.cl (revision 46)
+++ 2.0/src/dd/cl/tsi.cl (working copy)
@@ -17,10 +17,10 @@
"Prime number to randomize memory access.")
(eval-when (:compile-toplevel :load-toplevel :execute)
- (defvar *size* 1024
+ (defvar *size* 800
"Dimension for (square) images."))
-(defvar *nsteps* 100
+(defvar *nsteps* 200
"Number of times to repeat the algorithm.")
--
Didier Verna, didier(a)lrde.epita.fr, http://www.lrde.epita.fr/~didier
EPITA / LRDE, 14-16 rue Voltaire Tel.+33 (1) 44 08 01 85
94276 Le Kremlin-Bicêtre, France Fax.+33 (1) 53 14 59 22 didier(a)xemacs.org