Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Nov 08 17:47
    player-03 commented #117
  • Nov 08 17:02
    player-03 synchronize #117
  • Nov 08 07:55
    RealyUniqueName commented #117
  • Nov 08 07:42

    RealyUniqueName on master

    Simplify `prepareSpec()`. (#116… (compare)

  • Nov 08 07:42
    RealyUniqueName closed #116
  • Nov 07 23:46
    player-03 opened #117
  • Nov 05 20:10
    player-03 opened #116
  • Oct 30 16:14

    RealyUniqueName on master

    Don't search import.hx for test… (compare)

  • Oct 30 16:14
    RealyUniqueName closed #115
  • Oct 30 16:12
    player-03 synchronize #115
  • Oct 30 16:10
    player-03 opened #115
  • Mar 19 03:14
    MasterEric opened #9
  • Feb 22 12:24
    RealyUniqueName commented #114
  • Feb 21 07:22
    acarioni commented #114
  • Feb 20 11:02
    RealyUniqueName commented #114
  • Feb 20 11:00
    RealyUniqueName labeled #114
  • Feb 20 10:59
    RealyUniqueName commented #114
  • Feb 14 08:18
    acarioni opened #114
  • Jan 19 04:30

    RealyUniqueName on master

    Add execution time (#113) * ad… (compare)

  • Jan 19 04:30
    RealyUniqueName closed #113
ousado
@ousado
yeah, there's a lot of potential in that regard
ousado
@ousado
@fponticelli I got a strange thing here:

┃ description ┃ ops/sec ┃ error ┃ samples ┃ performance ┃
┃━━━━━━━━━━━━━┃━━━━━━━━━┃━━━━━━━━━┃━━━━━━━━━┃━━━━━━━━━━━━━┃
┃ call 1 ┃ 252,355 ┃ ±0.45% ┃ 19 ┃ 0% slower ┃
┃ call 2 ┃ 160,730 ┃ ±14.19% ┃ 41 ┃ 36% slower ┃
┃ call 3 ┃ 106,923 ┃ ±12.77% ┃ 35 ┃ 58% slower ┃
┃ call 5 ┃ 57,683 ┃ ±8.40% ┃ 26 ┃ 77% slower ┃
┃ call 8 ┃ 75,761 ┃ ±0.40% ┃ 20 ┃ 70% slower ┃
┃ callG 1 ┃ 252,418 ┃ ±0.34% ┃ 19 ┃ 0% slower ┃
┃ callG 2 ┃ 252,599 ┃ ±0.45% ┃ 19 ┃ fastest ┃
┃ callG 3 ┃ 126,667 ┃ ±0.42% ┃ 19 ┃ 50% slower ┃
┃ callG 5 ┃ 63,272 ┃ ±0.44% ┃ 19 ┃ 75% slower ┃
┃ callG 8 ┃ 75,761 ┃ ±0.40% ┃ 20 ┃ 70% slower ┃

┃ description ┃ ops/sec ┃ error ┃ samples ┃ performance ┃
┃━━━━━━━━━━━━━┃━━━━━━━━━┃━━━━━━━━┃━━━━━━━━━┃━━━━━━━━━━━━━┃
┃ call 1 ┃ 39,896 ┃ ±1.60% ┃ 18 ┃ fastest ┃
┃ call 2 ┃ 25,533 ┃ ±1.63% ┃ 17 ┃ 36% slower ┃
┃ call 3 ┃ 23,775 ┃ ±1.36% ┃ 18 ┃ 40% slower ┃
┃ call 5 ┃ 20,584 ┃ ±1.05% ┃ 18 ┃ 48% slower ┃
┃ call 8 ┃ 22,680 ┃ ±1.34% ┃ 19 ┃ 43% slower ┃
┃ callG 1 ┃ 39,514 ┃ ±1.70% ┃ 18 ┃ 1% slower ┃
┃ callG 2 ┃ 26,746 ┃ ±1.47% ┃ 18 ┃ 33% slower ┃
┃ callG 3 ┃ 24,117 ┃ ±1.57% ┃ 18 ┃ 40% slower ┃
┃ callG 5 ┃ 20,482 ┃ ±0.75% ┃ 18 ┃ 49% slower ┃
┃ callG 8 ┃ 22,654 ┃ ±1.37% ┃ 18 ┃ 43% slower ┃

those are two runs of the same code in JS
the second directly after the first
a third run looks like the second, so that's the correct results - but I wonder how the first run, where the JIT compilation takes place, can be reported being that much faster
maybe it's a timer issue
Franco Ponticelli
@fponticelli
wow, that is so strange
ousado
@ousado
yes
and it's even reliably reproducible
Franco Ponticelli
@fponticelli
you can try to add some delay here and there ...
ousado
@ousado
I'm running the whole suite with min samples=1 and max time=100 to warm up, at the moment
after that, all is good
it's only this particular benchmark, at the moment
Franco Ponticelli
@fponticelli
good to know ... if you find more reasonable defaults for the library I will be glad to apply those
ousado
@ousado
I'm thinking of some hooks to trigger the GC on platforms where that's possible
Franco Ponticelli
@fponticelli
outside or inside the tests?
ousado
@ousado
it would be convenient to be able to optionally do that before each test
outside
Franco Ponticelli
@fponticelli
yeah ... that would make sense
ousado
@ousado
more generally passing a callback that's run before each test would be good
Franco Ponticelli
@fponticelli
yeah ... makes sense
setup/teardown
ousado
@ousado
yes
ousado
@ousado
@fponticelli where does your "(....).or" come from?
I have a total freak error
ousado
@ousado
ah, it's from Nulls
Franco Ponticelli
@fponticelli
yes it is ... an attempt at implementing null safety on object paths
francesco agati
@francescoagati
nice idea for using databinding with paths http://docs.ractivejs.org/latest/keypaths
i have a similar think with getPath and setPath of thx.core
ousado
@ousado
@fponticelli A nice thing for utest would be Assert.todo(msg) :D
Franco Ponticelli
@fponticelli
Isn't Assert.warn not good enough?
ousado
@ousado
@fponticelli ah, cool
ousado
@ousado
@fponticelli are you at the WWX?
Franco Ponticelli
@fponticelli
I am not :(
0b1kn00b
@0b1kn00b
Looking at the immutable tree, I have a Leaf(x,xs:List<Tree<T>>)
and a zipper type thing for stepwise navigation, which requires a lot of iteration. If I make it Leaf(x,xs:ListZipper<Tree<T>>), that produces faster navigation but at the expense of holding a list for each branch to track the cursor.
ousado
@ousado
hey :)
ousado
@ousado
@fponticelli which functions are you referring to here: https://github.com/fponticelli/thx.stream/blob/master/src/thx/stream/Emitter.hx#L12 ?
Franco Ponticelli
@fponticelli
hmmm ...cryptic message I left
they might not be broken at all since I used the lib quite a lot
the thing that doesn't convince me is mostly the fact that there is no clear path to construct new streams and not a clear division between hot and cold ones
ousado
@ousado
@fponticelli hey!
hmm - are they one or the other at the moment?
Franco Ponticelli
@fponticelli
I actually think you can have either but it is confusing how you make them happen ... sometimes you use Bus , sometimes you don't .... it is just a confusing API
the stream consumption I think it is fine, the generation less so
ousado
@ousado
I see
I can hardly think of a scenario where I would want a cold stream
Franco Ponticelli
@fponticelli
I think those scenarios exist :) but agreed
I'll have to spend some time on it and see if I can streamline the API ... contributions as usual are welcome