MLStyle.jl icon indicating copy to clipboard operation
MLStyle.jl copied to clipboard

about benchmark

Open thautwarm opened this issue 6 years ago • 6 comments

I've already made a comparison between MacroTools.jl and MLStyle.jl, and the latter seems to be 3 times faster in dev branch with 1/5 space cost and 5 times faster in pattern-to-inline-function branch with 1/5 space cost(a bit less than dev).

The test snippet(check "benchmark.jl" in the root directory) I used comes from the README document of MacroTools.jl, and the gap could be much larger when the case becomes more complex.

I'm planning to make a thorough benchmark experiment to give a rational evaluation about the performance gain of MLStyle.jl.

thautwarm avatar Jan 19 '19 16:01 thautwarm

Maybe put some benchmarks as plots in the documents would be nice?

Roger-luo avatar Jan 20 '19 03:01 Roger-luo

clever, that'll look like big news

thautwarm avatar Jan 20 '19 06:01 thautwarm

@Roger-luo How about current stage? I mean the kinda aggressive plots in README...

thautwarm avatar Jan 23 '19 22:01 thautwarm

One thing I'd be curious to see would be how it compares to languages with built-in support for pattern matching on a pattern match heavy workload. Taking something like Jon Harrop's benchmark here: http://flyingfrogblog.blogspot.com/2017/12/does-reference-counting-really-use-less_26.html

That would give a good order-of-magnitude estimate. That benchmark is also technically a benchmark of GC performance (with no cheating using pools for non GCed languages, unlike the shootout). But GC overhead for Julia when tracing a big tree should be less than refcounting overhead for Swift, if Julia's GC is reasonably well implemented.

saolof avatar Feb 04 '19 09:02 saolof

@saolof Thanks for your comments! I'm on your side but recently I won't make benchmark comparisons with other languages for it's extremely time consuming.

There're so many items I have to handle with, like documentations, tutorials and new features, etc, where benchmark comparisons are in lower priority.

thautwarm avatar Feb 09 '19 07:02 thautwarm

Move to v0.3 for the array performance issues.

thautwarm avatar Mar 04 '19 06:03 thautwarm