compiler/benchmarks/PPCBenchmarkResources.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 30 Apr 2015 23:43:14 +0200
changeset 438 20598d7ce9fa
parent 432 fde2d5969fbb
child 450 914c2567c987
permissions -rw-r--r--
Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4 Name: PetitCompiler-JanKurs.100 Author: JanKurs Time: 30-04-2015, 10:48:52.165 AM UUID: 80196870-5921-46d9-ac20-a43bf5c2f3c2 Name: PetitCompiler-Tests-JanKurs.44 Author: JanKurs Time: 30-04-2015, 10:49:22.489 AM UUID: 348c02e8-18ce-48f6-885d-fcff4516a298 Name: PetitCompiler-Benchmarks-JanKurs.4 Author: JanKurs Time: 30-04-2015, 10:58:44.890 AM UUID: 18cadb42-f9ef-45fb-82e9-8469ade56c8b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
420
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/petitparser/compiler/benchmarks' }"
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
422
116d2b2af905 To fold
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 421
diff changeset
     3
"{ NameSpace: Smalltalk }"
116d2b2af905 To fold
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 421
diff changeset
     4
420
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
Object subclass:#PPCBenchmarkResources
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:''
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:'javaCache'
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
421
7e08b31e0dae Merged JK's version from Monticello
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 420
diff changeset
     9
	category:'PetitCompiler-Benchmarks-Core'
420
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
432
fde2d5969fbb PPCBenchmarkResource updated to work on Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 422
diff changeset
    12
420
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
!PPCBenchmarkResources methodsFor:'as yet unclassified'!
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
changesSized: size
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
	| string changes |
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
	changes := PharoFilesOpener default changesFileOrNil contents.
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
	string :=  changes copyFrom: 1 to: size.
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
	^ string
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
	
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
!
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
javaInDirectory: directory
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
	| files |
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
	files := self readDirectory: directory.
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
	files := self files: files withExtension: 'java'.
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
	
438
20598d7ce9fa Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 432
diff changeset
    28
	^ files collect: [ :f | (FileStream fileNamed: f) contents ]
420
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
!
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
javaLangMath
438
20598d7ce9fa Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 432
diff changeset
    32
	^ (FileStream fileNamed: '../java-src/java/lang/Math.java') contents
420
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
!
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
javaSourcesBig
421
7e08b31e0dae Merged JK's version from Monticello
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 420
diff changeset
    36
	^ self javaInDirectory: '../java-src/java/util'.
7e08b31e0dae Merged JK's version from Monticello
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 420
diff changeset
    37
	"^ self workingJavaInDirectory: '../java-src/java/util'"
420
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
!
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
421
7e08b31e0dae Merged JK's version from Monticello
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 420
diff changeset
    40
smalltalkInDirectory: directory
7e08b31e0dae Merged JK's version from Monticello
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 420
diff changeset
    41
	| files |
7e08b31e0dae Merged JK's version from Monticello
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 420
diff changeset
    42
	files := self readDirectory: directory.
7e08b31e0dae Merged JK's version from Monticello
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 420
diff changeset
    43
	files := self files: files withExtension: 'st'.
7e08b31e0dae Merged JK's version from Monticello
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 420
diff changeset
    44
	
438
20598d7ce9fa Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 432
diff changeset
    45
	^ files collect: [ :f | (FileStream fileNamed: f) contents ]
421
7e08b31e0dae Merged JK's version from Monticello
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 420
diff changeset
    46
!
7e08b31e0dae Merged JK's version from Monticello
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 420
diff changeset
    47
420
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
smalltalkObjectMethods
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
	^ Object allMethods collect: [ :m | m sourceCode ].
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
!
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
smalltalkSourcesBig
421
7e08b31e0dae Merged JK's version from Monticello
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 420
diff changeset
    53
	^ self smalltalkInDirectory: '../smalltalk-src/'
7e08b31e0dae Merged JK's version from Monticello
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 420
diff changeset
    54
!
7e08b31e0dae Merged JK's version from Monticello
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 420
diff changeset
    55
7e08b31e0dae Merged JK's version from Monticello
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 420
diff changeset
    56
smalltalkSourcesBig_old
420
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
	^ ((Smalltalk allClasses copyFrom: 1 to: 30) collect: [ :c |
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
			c allMethods collect: [ :m | m sourceCode ]
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
	  ]) gather: [:each | each ].
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
!
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
workingJavaInDirectory: directory
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
	| sources parser |
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
	"return only such a files, that can be parsed by PPJavaSyntax"
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
	javaCache ifNil: [ javaCache := Dictionary new ].
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
	
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
	^ javaCache at: directory ifAbsentPut: [ 
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
		sources := self javaInDirectory: directory.
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
		parser := PPJavaSyntax new.
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
	
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
		sources select: [ :source | ([parser parse: source ] on: Error do: [ PPFailure new ]) isPetitFailure not ]	
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
	]
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
! !
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
!PPCBenchmarkResources methodsFor:'private utilities'!
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
files: files withExtension: extension
438
20598d7ce9fa Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 432
diff changeset
    79
	^ files select: [ :f | f extension = extension ] 
420
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
!
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
readDirectory: directory
438
20598d7ce9fa Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 432
diff changeset
    83
	| file |
20598d7ce9fa Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 432
diff changeset
    84
	file := directory asFileReference.
20598d7ce9fa Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 432
diff changeset
    85
	file exists ifTrue: [ 
20598d7ce9fa Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 432
diff changeset
    86
		^ file allFiles
20598d7ce9fa Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 432
diff changeset
    87
	].
20598d7ce9fa Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 432
diff changeset
    88
	^ #()
420
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
! !
b2f2f15cef26 Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
432
fde2d5969fbb PPCBenchmarkResource updated to work on Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 422
diff changeset
    91
!PPCBenchmarkResources class methodsFor:'documentation'!
fde2d5969fbb PPCBenchmarkResource updated to work on Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 422
diff changeset
    92
fde2d5969fbb PPCBenchmarkResource updated to work on Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 422
diff changeset
    93
version_HG
fde2d5969fbb PPCBenchmarkResource updated to work on Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 422
diff changeset
    94
fde2d5969fbb PPCBenchmarkResource updated to work on Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 422
diff changeset
    95
    ^ '$Changeset: <not expanded> $'
fde2d5969fbb PPCBenchmarkResource updated to work on Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 422
diff changeset
    96
! !
fde2d5969fbb PPCBenchmarkResource updated to work on Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 422
diff changeset
    97