HN user

mcuadros

148 karma

[ my public key: https://keybase.io/mcuadros; my proof: https://keybase.io/mcuadros/sigs/DkaFHaTnO5QHnkkTeHocZ_5pgeMCQtxdRMsvPg06K4A ]

Posts18
Comments10
View on HN
github.com 6y ago

Introducing: AsCode an Alternative Syntax for Terraform

mcuadros
1pts0
github.com 6y ago

Go-Git has a new home v5 and some explanations

mcuadros
2pts0
github.com 8y ago

Show HN: Go-git v4, covering almost all the commonly used Git functionalities

mcuadros
6pts0
blog.sourced.tech 9y ago

Workdays vs. Weekends and Morning vs. Night GitHub Commit Analysis

mcuadros
3pts0
github.com 9y ago

Show HN: Kallax a PostgreSQL Typesafe ORM for the Go Language

mcuadros
17pts0
blog.sourced.tech 9y ago

Comparing Git trees in Go

mcuadros
2pts0
github.com 9y ago

Show HN: Proteus, keeping Go as the source of truth, .proto files from Go code

mcuadros
5pts0
github.com 9y ago

Show HN: High Performance and Large Scale K-means and K-nn on Nvidia GPU/CUDA

mcuadros
4pts0
github.com 9y ago

Show HN: Go-git and aerospike: a Git repository backed by a database

mcuadros
5pts0
github.com 9y ago

Show HN: Hercules – Calculates the lines burnout stats in a Git repository

mcuadros
2pts0
blog.sourced.tech 9y ago

Śiva: Why We Created yet Another Archive Format

mcuadros
1pts0
github.com 9y ago

Show HN: Ofelia – a simple job scheduler ready for Docker

mcuadros
44pts19
github.com 9y ago

Show HN: Golang fixed versions tool for your private and public dependencies

mcuadros
1pts0
github.com 10y ago

Show HN: Gce-Docker – Google Cloud Engine Integration for Docker

mcuadros
5pts0
github.com 10y ago

Show HN: Go-git – low-level and extensible Git client library in Go

mcuadros
114pts56
github.com 11y ago

Show HN: CandyJS – transparent bridge between Go and JavaScript

mcuadros
72pts15
github.com 11y ago

Show HN: Rocketizer – Painless Dockerfile Transformation to Rocket Containers

mcuadros
1pts0
github.com 11y ago

Show HN: Dockership – dead simple docker deploy tool (YA*)

mcuadros
8pts0

v8worker, was one of the evaluated projects, but V8 is not very fast compiling... takes several mins.

With go-duktape, you can compile CandyJS just lake a normal Go package without any other tool or library.

Other reason is that many of the features are based on ECMA6 Proxy, something that is not supported on v8.

True in some cases I fold back to JSON: https://github.com/mcuadros/go-candyjs/blob/master/base.go#L...

But the main goal of the project is be fully transparent more than the performance. At the very beginning I was making every case by hand but this is a endless work: https://github.com/mcuadros/go-candyjs/blob/54c8beb723aa8b1b...

I will take a closer look to the NaN issue and also a closer look to your code.

BTW I made a PR to go-duktape based on you fork: https://github.com/olebedev/go-duktape/commit/65f0be48ece4f6...

the main goal of CandyJS is allow to other developers build extendable programs without the requirement of compile.

A good example could be a chan bot in Go with plugins written on JS. (like https://github.com/djosephsen/lazlo) but with CandyJS the effort to make this will be minimal, since you can use the same structures on JS and Go.

About the performance, CandyJS javascript is much slower than pure Go, since the reflection is very expensive.

A small quick bench of this example: https://github.com/mcuadros/go-candyjs/blob/master/examples/...

Pure Go: 165951 requests

CandyJS: 36304 requests

That means that CandyJS is 4,5 times slower than pure Go. Both