38 Commits
Author SHA1 Message Date
Anton MedvedevandGitHub 452d355706 Make expr.Eval faster (#775)
* Make expr.Eval faster

* Add bench_call_test.go

* Make parser config optional
2025-03-24 14:48:41 +01:00
Anton MedvedevandGitHub 68e3148c1f Vendor testify (#642) 2024-05-08 00:24:35 +02:00
Anton MedvedevandGitHub b1e82de54a Refactor groupBy and sortBy (#562)
* Rearrange opcodes

* Refactor groupBy

* Fix tests

* Super opcodes for GroupBy

* Refactor sortBy builtin

* Fix sortBy bench
2024-02-15 19:53:35 +01:00
Anton Medvedev 08c627946f Sort imports 2023-12-26 23:11:55 +01:00
Anton Medvedev 551d2a7e0f Use expr-lang/expr 2023-12-03 21:53:01 +01:00
Anton Medvedev 6d8d2390cf Remove countBy 2023-08-30 14:55:05 +02:00
Anton Medvedev 5023b3005d Add reduce() 2023-08-30 13:33:16 +02:00
Anton Medvedev 7f85c0551f Add countBy() 2023-08-30 12:07:16 +02:00
Anton Medvedev 32f5fde2eb Replace interface{} with any 2023-08-30 11:25:15 +02:00
Anton Medvedev 688b914fa6 Add groupBy bench 2023-08-30 11:22:35 +02:00
Anton Medvedev 9acd95ada5 Add sort benchmarks 2023-08-28 17:26:52 +02:00
Anton Medvedev 9c328f151e Fix flaky test 2023-08-24 11:18:45 +02:00
Anton Medvedev bc38c364e4 Update benchmarks 2023-08-23 11:31:30 +02:00
Anton Medvedev f983663567 Add len() benchmark 2023-01-29 14:32:30 +01:00
Anton MedvedevandGitHub 4cee95857e Remove CanInterface() checks (#264) 2022-10-28 21:37:05 +02:00
Anton Medvedev fe5383a8d5 Add fold filter optimizations 2022-10-27 21:43:47 +02:00
Anton Medvedev b8346f98f1 Optimize method calls and builtins opcodes 2022-10-27 21:23:04 +02:00
Anton Medvedev 0b523f347e Sort imports 2022-10-22 13:39:04 +02:00
Anton Medvedev 676b51ffd8 Add test pkg 2022-10-19 21:20:59 +02:00
Anton Medvedev 20d9d1a9f9 allow to reuse vm 2020-04-19 15:42:34 +03:00
Anton MedvedevandGitHub acba548cab Add ConstExpr 2020-03-10 08:36:12 +03:00
Anton Medvedev 9d0fed6ca7 Fix type in bench 2019-10-16 11:07:24 +03:00
Anton Medvedev 13c0a78fa4 Add fast call opcode for special case functions 2019-10-15 14:43:03 +03:00
Anton Medvedev 9135540071 Add real word examples 2019-10-11 13:34:15 +03:00
Dean McNameeandAnton Medvedev 664b781db1 runtime: Add benchmarks demonstrating pathological copy behaviour. 2019-08-19 11:09:24 +07:00
Dean McNameeandAnton Medvedev c12b038dbd runtime: Don't value copy structs from pointers on property access
Adds a test with a 10mb struct passed by a pointer, it would be previously
copied on property accessed whereas now the accesses just go through the
pointer without a copy.

Previous:
Benchmark_largeStructAccess-4          200     7914350 ns/op

After:
Benchmark_largeStructAccess-4      2000000         912 ns/op
2019-08-17 21:57:16 +07:00
Anton Medvedev c50018a2f7 goimports 2019-07-02 14:36:09 +03:00
Anton Medvedev c9cc2b9ca4 Copy type and location on patch 2019-06-25 18:25:24 +03:00
Anton Medvedev 50f83299ac Move back to github host 2019-06-22 14:25:58 +03:00
Anton Medvedev 1cb2656067 Use gopkg.in for v2 imports 2019-06-21 14:18:54 +03:00
Anton Medvedev fad76b558b Separate opcode for int equal 2019-06-14 14:11:11 +03:00
Anton Medvedev 03c08b76de Use int instead of int64 as default integer type 2019-06-03 14:26:57 +03:00
Anton MedvedevandGitHub ef410b0f3f expr v2 2019-05-28 00:09:22 +07:00
Anton Medvedev b8af2d2788 Update bench 2018-10-19 18:34:26 +07:00
Anton Medvedev 704af987fd Delete toBool and toText 2018-10-19 12:45:35 +07:00
Anton Medvedev 894c3c96b1 Add type checks
This commits implements more advance type checks in strict mode.
To enter strict mode set variable types with expr.Define() or
expr.With() functions.
2018-08-08 20:09:07 +03:00
Anton Medvedev f552512897 Format imports 2018-08-06 21:17:01 +03:00
Anton Medvedev a9dff5c8c0 Add benchmarks 2018-08-06 10:32:24 +03:00