Kogia-sima
18ffe5b321
Remove benchmarks
...
Remove benchmark programs in favor of https://github.com/djc/template-benchmarks-rs
* Quite similar contents
* Some library has too heavy dependencies and frequently cause breaking
changes (which always results in tiny performance difference)
* Some benchmark implementation is out of date
* There is a persistent complaint that the benchmark is wrong (although
I'm not still convinced)
cc #28 #37
2020-12-17 12:51:42 +09:00
Kogia-sima
5961a7400b
security: Properly handle slices with size greater than isize::MAX
...
See https://github.com/rust-lang/rust/pull/79930#issuecomment-747135498
for more details.
2020-12-17 10:24:28 +09:00
Kogia-sima
5108988879
Use std::isize::MAX instead of isize::MAX
...
isize::MAX not working on Rust 1.42.0
2020-12-17 10:09:18 +09:00
Kogia-sima
a5f40fe270
Revert "refactor: Use nanorand crate instead of custom xorshift implementation"
...
This reverts commit d0ec00fb29
.
I found that nanorand crate does not work on Mac OSX.
2020-12-17 10:07:53 +09:00
Kogia-sima
1107757ad1
Add test for Techempower Framework Benchmarks
...
cc #37
2020-12-17 10:02:49 +09:00
Kogia-sima
8179de521d
docs: Revert documents
...
v0.2.3 still requires `extern crate sailfish_macros;`
2020-12-17 00:04:47 +09:00
Kogia-sima
ac728a8495
Update AFL tests
2020-12-16 23:15:22 +09:00
Kogia-sima
c182e41622
perf: Optimize Buffer::push()
...
fix #8
2020-12-16 21:52:39 +09:00
Kogia-sima
aa0afb1f81
doc: Update safety documents
...
and some assertion fix
2020-12-16 21:17:06 +09:00
Kogia-sima
1ec10031f5
refactor: Turn off unused features in dependencies
2020-12-16 20:14:38 +09:00
Kogia-sima
a1abc2aaa3
refactor: Simplify derive option parsing
2020-12-16 19:55:28 +09:00
Kogia-sima
98edecdb3a
refactor: suppress use of to_string_lossy
2020-12-16 19:13:37 +09:00
Kogia-sima
6c7a74823f
refactor: use DefaultHasher instead of custom fnv hash implementation
2020-12-16 19:01:28 +09:00
Kogia-sima
790f7366cf
break: Update TemplateOnce trait structure
...
* Remove render_once_to_string method
* Add render_once_to method
* Now TemplateOnce trait requires both method implementation
* Some performance improvement
2020-12-16 19:01:28 +09:00
Kogia-sima
d0ec00fb29
refactor: Use nanorand crate instead of custom xorshift implementation
2020-12-16 16:52:07 +09:00
Kogia-sima
9b733f973f
suppress dead_code warning when target_feature = "avx2"
2020-12-16 15:44:20 +09:00
Kogia-sima
a965f03321
Update error format
2020-12-16 15:38:28 +09:00
Kogia-sima
99e0f4cf89
Merge branch 'perf/reserve_small'
2020-12-16 15:23:56 +09:00
Kogia-sima
fcf3bc1be4
Revert "Remove benchmarks"
...
This reverts commit 7726b4c063
.
2020-12-16 15:20:10 +09:00
Kogia-sima
c7093a727a
perf: Replace reserve with reserve_small
2020-12-16 15:18:04 +09:00
Kogia-sima
7726b4c063
Remove benchmarks
2020-12-16 13:38:17 +09:00
Kogia-sima
2d6d913213
no longer requires `extern crate sailfish_macros`
2020-12-16 13:35:37 +09:00
Kogia-sima
72b061ee3e
refactor: Use unlikely in Buffer::reserve()
2020-11-30 12:19:03 +09:00
Kogia-sima
541ecb91ef
Bump version (0.2.2 => 0.2.3)
2020-11-29 21:40:58 +09:00
Kogia-sima
4d993256fe
Add `derive` feature for sailfish crate
2020-11-29 21:39:50 +09:00
Kogia-sima
db7aaf5edc
Add forbid(unsafe_code) in sailfish-compiler/macros
2020-11-29 21:22:31 +09:00
Kogia-sima
4e949848d0
Merge pull request #34 from Svenskunganka/master
...
Use std::result::Result in derive macro to allow custom Result types
2020-11-22 11:33:53 +09:00
Kogia-sima
c9b4d08ed0
refactor: hide Buffer::clear() method
...
This method is dangerous because it might deletes all contents
previouslly rendered.
2020-11-21 18:44:56 +09:00
Kogia-sima
834289be59
refactor: Reduce unsafe blocks
2020-11-21 18:44:52 +09:00
Kogia-sima
82fb9f5469
refactor: Remove unused code
2020-11-21 18:25:36 +09:00
Kogia-sima
ed25390917
Avoid running compile-failure tests in CI
2020-11-21 18:03:45 +09:00
Kogia-sima
52e635af6e
Update compile error tests
2020-11-21 18:03:41 +09:00
Tom Jordell
9d405ad9ff
Use std::result::Result in derive macro to allow custom Result types
2020-11-21 08:40:46 +01:00
Kogia-sima
cfd40f573b
Bump version (0.2.1 => v0.2.2)
2020-11-11 10:48:30 +09:00
Kogia-sima
af6c052b1f
Update proc-macro2 ( fix #32 )
2020-11-11 10:46:40 +09:00
Kogia-sima
2ecc5ce63f
Update CHANGELOG
2020-08-04 09:28:28 +09:00
Kogia-sima
2ba4a99582
Bump version (0.2.0 => 0.2.1)
2020-08-04 09:18:24 +09:00
Kogia-sima
5666f92b9d
Search rustfmt along all toolchains
2020-08-04 03:33:49 +09:00
Kogia-sima
d79a5d3b4b
perf: Zero-copy conversion from String into Buffer
2020-08-04 03:14:21 +09:00
Kogia-sima
941cd965ab
Do not use render_once_to_string method directly
2020-07-26 00:02:51 +09:00
Kogia-sima
4f64a3b7fe
Avoid over-size allocation in `render_once_to_string`
2020-07-25 23:56:17 +09:00
Kogia-sima
658a623008
Remove profile overrides
2020-07-25 07:58:13 +09:00
Kogia-sima
4fc278ecfb
Revert "Improve Template::render() performance"
...
This reverts commit 4e8b437387
.
2020-07-25 07:48:00 +09:00
Kogia-sima
383a6db3e3
Add `rm_whitespace = true` option for some tests
2020-07-25 07:48:00 +09:00
Kogia-sima
3678978e54
Merge pull request #30 from stoically/patch-1
...
Fix docs typo
2020-07-24 12:35:30 +09:00
stoically
f37f074a67
Fix docs typo
2020-07-24 04:32:51 +02:00
Kogia-sima
4a8ce80e3d
improve escape_small() performance
2020-07-23 11:49:53 +09:00
Kogia-sima
4e8b437387
Improve Template::render() performance
2020-07-23 11:48:19 +09:00
Kogia-sima
cc10171b73
Avoid dangerous conversion from String to Buffer
2020-07-22 07:05:15 +09:00
Kogia-sima
fcde448751
Add trim filter
2020-07-22 06:40:26 +09:00
Kogia-sima
31bbcaebc8
Avoid capacity overflow in Buffer::with_capacity
2020-07-22 03:25:07 +09:00
Kogia-sima
236dff6b10
Improve size hint update algorithm
2020-07-21 09:00:15 +09:00
Kogia-sima
9765de213f
Allow proc-macro2 v1.0.19 as a dependency
2020-07-21 07:22:34 +09:00
Kogia-sima
a3fdc8e226
fix: Fix vim syntax highlighting
...
* highlight sailfish tag inside html strings
2020-07-18 09:31:23 +09:00
Kogia-sima
3515380d93
Add CHANGELOG.md
2020-07-18 02:34:22 +09:00
Kogia-sima
9dfcfe2c45
Add filter documentation in User Guide
2020-07-17 18:06:06 +09:00
Kogia-sima
d0ef795161
Bump version (0.1.3 => 0.2.0)
2020-07-17 04:48:29 +09:00
Kogia-sima
1141580878
Fix number of skips on parsing code block
2020-07-15 23:22:10 +09:00
Kogia-sima
80b64fe883
break: Remove Buffer::set_len method
...
This method allows reducing the buffer size, but it should not be
possible.
Alternatively I added a Buffer::advance method to increase the length.
2020-07-15 19:49:35 +09:00
Kogia-sima
fabc3ba149
Merge branch 'feature/filter'
...
close #2
2020-07-15 19:40:53 +09:00
Kogia-sima
15b0504564
Add tests for filter
2020-07-15 19:34:53 +09:00
Kogia-sima
eac0dfbf5b
Add minimal runtime filters
2020-07-15 17:12:31 +09:00
Kogia-sima
373ffc135e
Implement filter transformation
2020-07-15 07:38:11 +09:00
Kogia-sima
2d15165406
break: Syntactically disallow invalid filter expression
2020-07-15 04:17:50 +09:00
Kogia-sima
119e282945
Avoid generating _size_hint local variable
2020-07-15 00:06:01 +09:00
Kogia-sima
670d936def
break: remove runtime::Context API
2020-07-15 00:06:01 +09:00
Kogia-sima
2ebb4b290f
Exclude examples/ directory from workspaces
2020-07-15 00:06:01 +09:00
Kogia-sima
869c58dcb1
Use UFCS instead of receiver coecions
...
This change is required to achieve filter
2020-07-15 00:06:01 +09:00
Kogia-sima
203a890618
break: Remove register_escape_fn API
2020-07-15 00:06:01 +09:00
Kogia-sima
3040084ca9
do not use `sfrt` as an alias to sailfish::runtime
2020-07-15 00:05:56 +09:00
Kogia-sima
38de1f8051
Merge branch 'test/afl'
...
close #26
2020-07-14 22:48:21 +09:00
Kogia-sima
6c72bb17d1
Put all tests in sailfish-tests/ directory
2020-07-14 22:46:58 +09:00
Kogia-sima
4d548bdb94
Add fuzzing test for sailfish-compiler
...
cc #26
2020-07-14 22:28:15 +09:00
Kogia-sima
b420cc0161
feat: Implement Compiler::compile_str() function
2020-07-14 22:07:35 +09:00
Kogia-sima
727ed61844
Add simple fuzzing test
...
cc #26
2020-07-14 21:45:56 +09:00
Kogia-sima
c01784b154
Add formatting test
2020-07-14 20:41:45 +09:00
Kogia-sima
470f5b7ffa
Remove unreachable code
2020-07-14 20:37:20 +09:00
Kogia-sima
3267d60f1b
Add test for configuration file
2020-07-14 18:59:39 +09:00
Kogia-sima
e277fe4a7d
Add more tests for runtime
2020-07-14 18:38:38 +09:00
Kogia-sima
f41047ef92
Optimize Buffer::push_str() implementation for stable compiler
2020-07-14 05:43:02 +09:00
Kogia-sima
b1f266a285
Fix buffer capacity overflow check
2020-07-13 06:47:19 +09:00
Kogia-sima
e321d6b013
Update benchmark dependencies
2020-07-13 06:44:53 +09:00
Kogia-sima
65636d2ebc
Suppress "Failed to remote artifact" error in rust-analyzer
2020-07-13 01:28:42 +09:00
Kogia-sima
3b06795f5e
Bump version (0.1.2 => 0.1.3)
2020-07-11 17:46:55 +09:00
Kogia-sima
5d874e44ea
doc: update doc comments
2020-07-11 17:10:23 +09:00
Kogia-sima
9982ab0683
Suppress warning when `config` feature flag is disabled
2020-07-11 17:02:31 +09:00
Kogia-sima
b4903f2b3d
refactor: Add utils.rs
2020-07-11 04:23:39 +09:00
Kogia-sima
5cef362dbd
Add more debug assertions
2020-07-11 02:39:04 +09:00
Kogia-sima
277a71cd0f
Optimize long HTML escaping
2020-07-11 02:29:55 +09:00
Kogia-sima
f93d6e74b3
Add instructions for vim syntax plugin
...
[skip ci]
2020-07-10 19:09:12 +09:00
Kogia-sima
2a10342cd7
Add link to VisualStudio Marketplace
2020-07-10 18:29:19 +09:00
Kogia-sima
6981992efb
Prepare VSCode syntax extention for publishing
2020-07-10 18:27:04 +09:00
Kogia-sima
eb438f6d3c
Fix safe_realloc implementation
2020-07-10 10:20:10 +09:00
Kogia-sima
28baf202c2
Hide SizeHint and Context from docs
2020-07-10 08:50:32 +09:00
Kogia-sima
6c21955189
Fix memcpy_small implementation to emulate glibc implenetation exactly
2020-07-10 07:38:06 +09:00
Kogia-sima
3043719d35
Fix default implementation of Render::render_escaped
2020-07-10 00:32:58 +09:00
Kogia-sima
7d0538b244
Fix HTML escaping in char rendering
2020-07-10 00:30:25 +09:00
Kogia-sima
5c4c66f331
Add copyright notice in benchmark
2020-07-09 23:48:26 +09:00
Kogia-sima
2807340e59
Update Teams benchmark result
2020-07-09 23:44:30 +09:00
Kogia-sima
f1ad6f3bd3
Escape HTML in std::write! benchmark
...
cc #22
2020-07-09 23:44:25 +09:00