Comments (9)
Wow, that is pretty neat! I'm just wondering: isn't there a package that does the encoding into a string? It feels a bit weird to have that as part of the embedding flow instead of a separate package.
from go.rice.
I couldn't find one. Since strconv.Quote
is good for 99% use cases, I guess no one needed to create one.
I've extracted it into a separate package and added some tests, including all the strconv.Quote
tests from the standard library: https://github.com/nkovacs/streamquote
I'll update this PR tomorrow.
from go.rice.
That's awesome, thanks!
from go.rice.
I optimized streamquote (got rid of a bunch of small slice allocations), helps a bit with large files (v1 is the previous version from february, v2 is with the optimization)
one big file:
metric | master | v1 | v2 |
---|---|---|---|
rice wall time | 0:06.72 | 0:02.90 | 0:02.11 |
rice max resident (kbytes) | 1988876 | 10244 | 4720 |
build wall time | 0:04.17 | 0:04.31 | 0:04.38 |
build max resident (kbytes) | 1023208 | 1028712 | 1040584 |
many small files:
metric | master | v1 | v2 |
---|---|---|---|
rice wall time | 0:00.40 | 0:00.20 | 0:00.22 |
rice max resident (kbytes) | 104248 | 9232 | 9180 |
build wall time | 0:01.63 | 0:01.63 | 0:01.63 |
build max resident (kbytes) | 181652 | 181008 | 190088 |
from go.rice.
Neat! Do you think this is ready for a PR, or do you still want to change some things?
from go.rice.
I still need to fix filename escaping, if the filename contains {%%}
, it might cause problems with fasttemplate.
from go.rice.
Filename escaping has been merged. Thanks!
Do you want to add more code related to this feature, or can we close this issue?
from go.rice.
I just need to fix the issue in my previous comment, I'll have a PR up soon.
from go.rice.
Just merged the PR. Thanks!
from go.rice.
Related Issues (20)
- golang:alpine can not install HOT 1
- Dockerize rice binary HOT 1
- Get fails on Ubuntu 16.04 HOT 5
- Nested html templates. HOT 4
- How to run rice from vendor folder?
- How to link CSS with template in box
- Getting rice-box.go file with byte Array instead of string. HOT 2
- github.com/akavel/rsrc dependency has removed coff.NewRDATA HOT 9
- "rice:command not found" after exec the two go get command HOT 1
- Problems with paths HOT 1
- Asset loading race condition causes unexpected panic
- lotus-miner and lotus-worker installation step error HOT 1
- rice append violates Mach-O file format
- Able to skip overwrite or omit creation/modification time in embed-go
- `rice embed-go` doesn't work for go modules beyond v1?
- Report a coding bug about unused result
- Improvement to the README file
- Go install doesn't work HOT 3
- use go install instead of go get
- Dependency daaku/[email protected] incompatible with Go 1.19 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go.rice.