Added micro-benchmark to benchmark string concatenation
authorJan Vrany <jan.vrany@fit.cvut.cz>
Thu, 27 Nov 2014 21:59:38 +0000
changeset 264 1835162be709
parent 261 5b9e93c1135d
child 265 849a61efd824
Added micro-benchmark to benchmark string concatenation ..both using , on String and using memory Stream>>nextPutAll:
s/benchmarks/micro/BenchmarkMicroStringConcat.st
s/benchmarks/micro/BenchmarkMicroStringConcatN.st
s/benchmarks/micro/Make.proto
s/benchmarks/micro/Make.spec
s/benchmarks/micro/abbrev.stc
s/benchmarks/micro/bc.mak
s/benchmarks/micro/jv_calipel_s_benchmarks_micro.st
s/benchmarks/micro/libInit.cc
s/benchmarks/micro/micro.rc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/s/benchmarks/micro/BenchmarkMicroStringConcat.st	Thu Nov 27 21:59:38 2014 +0000
@@ -0,0 +1,275 @@
+"{ Package: 'jv:calipel/s/benchmarks/micro' }"
+
+Object subclass:#BenchmarkMicroStringConcat
+	instanceVariableNames:'iterations strsize str'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'CalipeL-S-Benchmarks-Micro'
+!
+
+!BenchmarkMicroStringConcat class methodsFor:'running'!
+
+run
+    ^ (BenchmarkSuite class:self) run
+
+    "Created: / 10-06-2013 / 21:53:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+run: benchmark
+    ^ (BenchmarkInstance class:self selector:benchmark) run
+
+    "Created: / 31-05-2013 / 10:39:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 10-06-2013 / 21:53:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BenchmarkMicroStringConcat methodsFor:'accessing'!
+
+iterations
+    ^ iterations
+!
+
+iterations:anInteger
+    <parameter: #iterations type: #Integer default: 300>
+    iterations := anInteger.
+
+    "Modified: / 20-07-2013 / 00:35:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+strsize
+    ^ strsize
+!
+
+strsize:anInteger
+    <parameter: #strsize type: #Integer values: #(5 10 15 20 50 100 200 500 1000)>
+    strsize := anInteger.
+
+    "Modified: / 27-11-2014 / 21:27:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BenchmarkMicroStringConcat methodsFor:'benchmark'!
+
+streamconcat2a
+    <benchmark: 'Stream Concatenation - 2 strings, default size'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        String new writeStream
+            nextPutAll: str;    
+            nextPutAll: str;
+            contents
+    ].
+
+    "Created: / 27-11-2014 / 21:20:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+streamconcat2b
+    <benchmark: 'Stream Concatenation - 2 strings, preallocated bigger'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        (String new: 3*strsize) writeStream
+            nextPutAll: str;    
+            nextPutAll: str;
+            contents
+    ].
+
+    "Created: / 27-11-2014 / 21:21:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+streamconcat2c
+    <benchmark: 'Stream Concatenation - 2 strings, preallocated exact'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        (String new: 2*strsize) writeStream
+            nextPutAll: str;    
+            nextPutAll: str;
+            contents
+    ].
+
+    "Created: / 27-11-2014 / 21:23:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+streamconcat3a
+    <benchmark: 'Stream Concatenation - 3 strings, default size'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        String new writeStream
+            nextPutAll: str;    
+            nextPutAll: str;
+            nextPutAll: str;
+            contents
+    ].
+
+    "Created: / 27-11-2014 / 21:20:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+streamconcat3b
+    <benchmark: 'Stream Concatenation - 3 strings, preallocated bigger'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        (String new: 4*strsize) writeStream
+            nextPutAll: str;    
+            nextPutAll: str;
+            nextPutAll: str;
+            contents
+    ].
+
+    "Created: / 27-11-2014 / 21:21:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+streamconcat3c
+    <benchmark: 'Stream Concatenation - 3 strings, preallocated exact'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        (String new: 3*strsize) writeStream
+            nextPutAll: str;    
+            nextPutAll: str;
+            nextPutAll: str;
+            contents
+    ].
+
+    "Created: / 27-11-2014 / 21:23:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+streamconcat4a
+    <benchmark: 'Stream Concatenation - 4 strings, default size'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        String new writeStream
+            nextPutAll: str;    
+            nextPutAll: str;
+            nextPutAll: str;
+            nextPutAll: str;
+            contents
+    ].
+
+    "Created: / 27-11-2014 / 21:20:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+streamconcat4b
+    <benchmark: 'Stream Concatenation - 4 strings, preallocated bigger'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        (String new: 5*strsize) writeStream
+            nextPutAll: str;    
+            nextPutAll: str;
+            nextPutAll: str;
+            nextPutAll: str;
+            contents
+    ].
+
+    "Created: / 27-11-2014 / 21:22:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+streamconcat4c
+    <benchmark: 'Stream Concatenation - 4 strings, preallocated exact'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        (String new: 4*strsize) writeStream
+            nextPutAll: str;    
+            nextPutAll: str;
+            nextPutAll: str;
+            nextPutAll: str;
+            contents
+    ].
+
+    "Created: / 27-11-2014 / 21:23:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+streamconcat5a
+    <benchmark: 'Stream Concatenation - 5 strings, default size'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        String new writeStream
+            nextPutAll: str;    
+            nextPutAll: str;
+            nextPutAll: str;
+            nextPutAll: str;
+            nextPutAll: str;
+            contents
+    ].
+
+    "Created: / 27-11-2014 / 21:20:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+streamconcat5b
+    <benchmark: 'Stream Concatenation - 5 strings, preallocated bigger'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        (String new: 6*strsize) writeStream
+            nextPutAll: str;    
+            nextPutAll: str;
+            nextPutAll: str;
+            nextPutAll: str;
+            nextPutAll: str;
+            contents
+    ].
+
+    "Created: / 27-11-2014 / 21:22:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+streamconcat5c
+    <benchmark: 'Stream Concatenation - 5 strings, preallocated exact'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        (String new: 5*strsize) writeStream
+            nextPutAll: str;    
+            nextPutAll: str;
+            nextPutAll: str;
+            nextPutAll: str;
+            nextPutAll: str;
+            contents
+    ].
+
+    "Created: / 27-11-2014 / 21:24:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+stringconcat2
+    <benchmark: 'String Concatenation - 2 strings'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        str , str
+    ].
+
+    "Created: / 27-11-2014 / 21:15:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+stringconcat3
+    <benchmark: 'String Concatenation - 3 strings'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        str , str , str
+    ].
+
+    "Created: / 27-11-2014 / 21:16:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+stringconcat4
+    <benchmark: 'String Concatenation - 4 strings'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        str , str , str , str
+    ].
+
+    "Created: / 27-11-2014 / 21:16:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+stringconcat5
+    <benchmark: 'String Concatenation - 5 strings'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        str , str , str , str , str
+    ].
+
+    "Created: / 27-11-2014 / 21:16:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BenchmarkMicroStringConcat methodsFor:'running'!
+
+setUpString
+    <setup>
+
+    str := String new: strsize.
+    1 to: strsize do:[:i | str at: i put: (Character codePoint: (i \\ (127-32)) + 32) ]
+
+    "Created: / 27-11-2014 / 21:14:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/s/benchmarks/micro/BenchmarkMicroStringConcatN.st	Thu Nov 27 21:59:38 2014 +0000
@@ -0,0 +1,123 @@
+"{ Package: 'jv:calipel/s/benchmarks/micro' }"
+
+Object subclass:#BenchmarkMicroStringConcatN
+	instanceVariableNames:'iterations strsize str nconcats'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'CalipeL-S-Benchmarks-Micro'
+!
+
+!BenchmarkMicroStringConcatN class methodsFor:'running'!
+
+run
+    ^ (BenchmarkSuite class:self) run
+
+    "Created: / 10-06-2013 / 21:53:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+run: benchmark
+    ^ (BenchmarkInstance class:self selector:benchmark) run
+
+    "Created: / 31-05-2013 / 10:39:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 10-06-2013 / 21:53:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BenchmarkMicroStringConcatN methodsFor:'accessing'!
+
+iterations
+    ^ iterations
+!
+
+iterations:anInteger
+    <parameter: #iterations type: #Integer default: 300>
+    iterations := anInteger.
+
+    "Modified: / 20-07-2013 / 00:35:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+nconcats:anInteger
+    <parameter: #strsize type: #Integer default: 10>
+    nconcats := anInteger.
+
+    "Created: / 27-11-2014 / 21:29:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+strsize
+    ^ strsize
+!
+
+strsize:anInteger
+    <parameter: #strsize type: #Integer values: #(5 10 15 20 50 100 200 500 1000)>
+    strsize := anInteger.
+
+    "Modified: / 27-11-2014 / 21:28:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BenchmarkMicroStringConcatN methodsFor:'benchmark'!
+
+streamconcat_a
+    <benchmark: 'Stream Concatenation - N strings, default size'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        | s |
+
+        s := String new writeStream.
+        1 to: nconcats do:[:i | s nextPutAll: str ].
+        s := s contents.
+    ].
+
+    "Created: / 27-11-2014 / 21:30:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+streamconcat_b
+    <benchmark: 'Stream Concatenation - N strings, preallocated bigger'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        | s |
+
+        s := (String new:(strsize * (nconcats + 1))) writeStream.
+        1 to: nconcats do:[:i | s nextPutAll: str ].
+        s := s contents.
+    ].
+
+    "Created: / 27-11-2014 / 21:35:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+streamconcat_c
+    <benchmark: 'Stream Concatenation - N strings, preallocated exact'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        | s |
+
+        s := (String new:(strsize * (nconcats))) writeStream.
+        1 to: nconcats do:[:i | s nextPutAll: str ].
+        s := s contents.
+    ].
+
+    "Created: / 27-11-2014 / 21:35:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+stringconcat
+    <benchmark: 'String Concatenation - 2 strings'>
+
+    1 to: (iterations * 5000) do: [:idx|
+        | s |
+
+        s := str.
+        1 to: nconcats - 1 do:[:i | s := s , str ]
+    ].
+
+    "Created: / 27-11-2014 / 21:34:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!BenchmarkMicroStringConcatN methodsFor:'running'!
+
+setUpString
+    <setup>
+
+    str := String new: strsize.
+    1 to: strsize do:[:i | str at: i put: (Character codePoint: (i \\ (127-32)) + 32) ]
+
+    "Created: / 27-11-2014 / 21:14:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- a/s/benchmarks/micro/Make.proto	Mon Nov 24 10:10:11 2014 +0000
+++ b/s/benchmarks/micro/Make.proto	Thu Nov 27 21:59:38 2014 +0000
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)/jv/calipel/s -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic2
 
 
 # if you need any additional defines for embedded C code,
@@ -121,6 +121,8 @@
 
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
+$(OUTDIR)BenchmarkMicroStringConcat.$(O) BenchmarkMicroStringConcat.$(H): BenchmarkMicroStringConcat.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)BenchmarkMicroStringConcatN.$(O) BenchmarkMicroStringConcatN.$(H): BenchmarkMicroStringConcatN.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)BenchmarkPerform.$(O) BenchmarkPerform.$(H): BenchmarkPerform.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)jv_calipel_s_benchmarks_micro.$(O) jv_calipel_s_benchmarks_micro.$(H): jv_calipel_s_benchmarks_micro.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
 
--- a/s/benchmarks/micro/Make.spec	Mon Nov 24 10:10:11 2014 +0000
+++ b/s/benchmarks/micro/Make.spec	Thu Nov 27 21:59:38 2014 +0000
@@ -42,6 +42,7 @@
 #  -warnNonStandard : no warnings about ST/X extensions
 #  -warnEOLComments : no warnings about EOL comment extension
 #  -warnPrivacy     : no warnings about privateClass extension
+#  -warnUnused      : no warnings about unused variables
 #
 # ********** OPTIONAL: MODIFY the next line(s) ***
 # STCWARNINGS=-warn
@@ -50,6 +51,8 @@
 STCWARNINGS=-warnNonStandard
 
 COMMON_CLASSES= \
+	BenchmarkMicroStringConcat \
+	BenchmarkMicroStringConcatN \
 	BenchmarkPerform \
 	jv_calipel_s_benchmarks_micro \
 
@@ -57,6 +60,8 @@
 
 
 COMMON_OBJS= \
+    $(OUTDIR_SLASH)BenchmarkMicroStringConcat.$(O) \
+    $(OUTDIR_SLASH)BenchmarkMicroStringConcatN.$(O) \
     $(OUTDIR_SLASH)BenchmarkPerform.$(O) \
     $(OUTDIR_SLASH)jv_calipel_s_benchmarks_micro.$(O) \
 
--- a/s/benchmarks/micro/abbrev.stc	Mon Nov 24 10:10:11 2014 +0000
+++ b/s/benchmarks/micro/abbrev.stc	Thu Nov 27 21:59:38 2014 +0000
@@ -2,5 +2,7 @@
 # this file is needed for stc to be able to compile modules independently.
 # it provides information about a classes filename, category and especially namespace.
 BenchmarkMicro BenchmarkMicro jv:calipel/s/benchmarks/micro 'CalipeL-S-Benchmarks-Micro' 0
+BenchmarkMicroStringConcat BenchmarkMicroStringConcat jv:calipel/s/benchmarks/micro 'CalipeL-S-Benchmarks-Micro' 0
+BenchmarkMicroStringConcatN BenchmarkMicroStringConcatN jv:calipel/s/benchmarks/micro 'CalipeL-S-Benchmarks-Micro' 0
 BenchmarkPerform BenchmarkPerform jv:calipel/s/benchmarks/micro 'CalipeL-S-Benchmarks-Micro' 0
 jv_calipel_s_benchmarks_micro jv_calipel_s_benchmarks_micro jv:calipel/s/benchmarks/micro '* Projects & Packages *' 3
--- a/s/benchmarks/micro/bc.mak	Mon Nov 24 10:10:11 2014 +0000
+++ b/s/benchmarks/micro/bc.mak	Thu Nov 27 21:59:38 2014 +0000
@@ -30,11 +30,12 @@
 !INCLUDE Make.spec
 
 LIBNAME=libjv_calipel_s_benchmarks_micro
+MODULE_PATH=calipel\s\benchmarks\micro
 RESFILES=micro.$(RES)
 
 
 
-LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\libbasic
+LOCALINCLUDES= -I$(INCLUDE_TOP)\jv\calipel\s -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic2
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
@@ -67,6 +68,8 @@
 
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
+$(OUTDIR)BenchmarkMicroStringConcat.$(O) BenchmarkMicroStringConcat.$(H): BenchmarkMicroStringConcat.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)BenchmarkMicroStringConcatN.$(O) BenchmarkMicroStringConcatN.$(H): BenchmarkMicroStringConcatN.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)BenchmarkPerform.$(O) BenchmarkPerform.$(H): BenchmarkPerform.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)jv_calipel_s_benchmarks_micro.$(O) jv_calipel_s_benchmarks_micro.$(H): jv_calipel_s_benchmarks_micro.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
 
--- a/s/benchmarks/micro/jv_calipel_s_benchmarks_micro.st	Mon Nov 24 10:10:11 2014 +0000
+++ b/s/benchmarks/micro/jv_calipel_s_benchmarks_micro.st	Thu Nov 27 21:59:38 2014 +0000
@@ -22,12 +22,12 @@
     "list packages which are mandatory as a prerequisite.
      This are packages containing superclasses of my classes and classes which
      are extended by myself.
-     They are mandatory, beacuse we need these packages as a prerequisite for loading and compiling.
+     They are mandatory, because we need these packages as a prerequisite for loading and compiling.
      This method is generated automatically,
      by searching along the inheritance chain of all of my classes."
 
     ^ #(
-        #'stx:libbasic'    "LibraryDefinition - superclass of jv_calipel_s_benchmarks_micro "
+        #'stx:libbasic'    "LibraryDefinition - superclass of jv_calipel_s_benchmarks_micro"
     )
 !
 
@@ -39,8 +39,8 @@
      by searching all classes (and their packages) which are referenced by my classes."
 
     ^ #(
-        #'jv:calipel/s'    "BenchmarkInstance - referenced by BenchmarkMicro class>>run: "
-        #'stx:libbasic2'    "Random - referenced by BenchmarkPerform class>>initialize "
+        #'jv:calipel/s'    "BenchmarkInstance - referenced by BenchmarkMicro class>>run:"
+        #'stx:libbasic2'    "Random - referenced by BenchmarkPerform class>>initialize"
     )
 !
 
@@ -77,6 +77,8 @@
     ^ #(
         "<className> or (<className> attributes...) in load order"
         (BenchmarkMicro autoload)
+        BenchmarkMicroStringConcat
+        BenchmarkMicroStringConcatN
         BenchmarkPerform
         #'jv_calipel_s_benchmarks_micro'
     )
--- a/s/benchmarks/micro/libInit.cc	Mon Nov 24 10:10:11 2014 +0000
+++ b/s/benchmarks/micro/libInit.cc	Thu Nov 27 21:59:38 2014 +0000
@@ -27,6 +27,8 @@
 void _libjv_calipel_s_benchmarks_micro_Init(pass, __pRT__, snd)
 OBJ snd; struct __vmData__ *__pRT__; {
 __BEGIN_PACKAGE2__("libjv_calipel_s_benchmarks_micro", _libjv_calipel_s_benchmarks_micro_Init, "jv:calipel/s/benchmarks/micro");
+_BenchmarkMicroStringConcat_Init(pass,__pRT__,snd);
+_BenchmarkMicroStringConcatN_Init(pass,__pRT__,snd);
 _BenchmarkPerform_Init(pass,__pRT__,snd);
 _jv_137calipel_137s_137benchmarks_137micro_Init(pass,__pRT__,snd);
 
--- a/s/benchmarks/micro/micro.rc	Mon Nov 24 10:10:11 2014 +0000
+++ b/s/benchmarks/micro/micro.rc	Thu Nov 27 21:59:38 2014 +0000
@@ -4,7 +4,7 @@
 //
 VS_VERSION_INFO VERSIONINFO
   FILEVERSION     6,2,32767,32767
-  PRODUCTVERSION  6,2,3,0
+  PRODUCTVERSION  6,2,5,0
 #if (__BORLANDC__)
   FILEFLAGSMASK   VS_FF_DEBUG | VS_FF_PRERELEASE
   FILEFLAGS       VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
@@ -24,8 +24,8 @@
       VALUE "InternalName", "jv:calipel/s/benchmarks/micro\0"
       VALUE "LegalCopyright", "My CopyRight or CopyLeft\0"
       VALUE "ProductName", "LibraryName\0"
-      VALUE "ProductVersion", "6.2.3.0\0"
-      VALUE "ProductDate", "Wed, 12 Mar 2014 18:40:39 GMT\0"
+      VALUE "ProductVersion", "6.2.5.0\0"
+      VALUE "ProductDate", "Thu, 27 Nov 2014 21:58:19 GMT\0"
     END
 
   END