[Vm-dev] VM Maker: VMMaker.oscog-eem.3300.mcz
commits at source.squeak.org
commits at source.squeak.org
Fri Jan 13 23:00:35 UTC 2023
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.3300.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.3300
Author: eem
Time: 13 January 2023, 3:00:06.641275 pm
UUID: 3f65e3af-f9b2-4e1a-b881-f9272c7bde04
Ancestors: VMMaker.oscog-eem.3299
capture a few JIT timings
=============== Diff against VMMaker.oscog-eem.3299 ===============
Item was changed:
----- Method: CompiledCode>>benchmarkJITReceiver (in category '*VMMaker-benchmarks') -----
benchmarkJITReceiver
"Answer the elapsed time in microseconds to jit the receiver."
| ticksPerMicrosecond |
ticksPerMicrosecond := Time highResClockTicksPerMillisecond / 1000.0.
^self primitiveBenchmarkJITReceiver / ticksPerMicrosecond
"| methods times nBytecodes nLiterals |
methods := self methodDict values.
times := methods collect: [:m| m benchmarkJITReceiver].
nLiterals := methods collect: #numLiterals.
nBytecodes := methods collect: [:m| m isQuick ifTrue: [1] ifFalse: [m endPC - m initialPC + 1]].
+ {times. nLiterals. nBytecodes} collect: [:stats| {stats min. stats max. stats average asFloat} collect: [:stat| stat roundTo: 0.001]]"
+
+ "On an Apple MacBook Pro (16-inch, 2021), Apple M1 Max, Cores: 10 (8 performance and 2 efficiency):
+
+ ((Array withAllSuperclasses copyUpThrough: Collection) collect: [:c| c methodDict values]) fold: #,
+ ((2.375 87.466 7.672) (2 28 4.682) (1 299 17.996))
+
+ CompiledCode methodDict values
+ ((2.25 35.961 7.883) (2 20 5.938) (1 106 17.464))
+
+ ((LargeNegativeInteger withAllSuperclasses copyUpThrough: Magnitude) collect: [:c| c methodDict values]) fold: #,
+ ((1.458 148.429 8.951) (2 51 5.405) (1 569 22.580))"!
- {times. nLiterals. nBytecodes} collect: [:stats| {stats min. stats max. stats average asFloat} collect: [:stat| stat roundTo: 0.001]]"!
More information about the Vm-dev
mailing list