mirror of
https://github.com/wren-lang/wren.git
synced 2026-01-11 22:28:45 +01:00
I've got some ideas on how to tweak the embedding API, but I want to see what performance impact they have first, so this adds a little benchmark that just calls a foreign method a ton of times.
43 lines
779 B
Plaintext
43 lines
779 B
Plaintext
class Call {
|
|
static noParams {
|
|
System.print("noParams")
|
|
}
|
|
|
|
static zero() {
|
|
System.print("zero")
|
|
}
|
|
|
|
static one(one) {
|
|
System.print("one %(one)")
|
|
}
|
|
|
|
static two(one, two) {
|
|
// Don't print null bytes.
|
|
if (two is String && two.bytes.contains(0)) {
|
|
two = two.bytes.toList
|
|
}
|
|
|
|
System.print("two %(one) %(two)")
|
|
}
|
|
|
|
static getValue(value) {
|
|
// Return a new value if we aren't given one.
|
|
if (value == null) return ["a", "b"]
|
|
|
|
// Otherwise print it.
|
|
System.print(value)
|
|
}
|
|
}
|
|
|
|
// expect: noParams
|
|
// expect: zero
|
|
// expect: one 1
|
|
// expect: two 1 2
|
|
|
|
// expect: two true false
|
|
// expect: two 1.2 3.4
|
|
// expect: two 3 4
|
|
// expect: two string another
|
|
// expect: two null [a, b]
|
|
// expect: two str [98, 0, 121, 0, 116, 0, 101]
|