Fin rebrand
This commit is contained in:
parent
ae15234e7f
commit
c19fbe8b2a
24
README.md
24
README.md
|
@ -1,14 +1,12 @@
|
||||||
# Sharkk Config File
|
# Fin
|
||||||
|
|
||||||
SCF, pronounced scuff!
|
Fin is a very light, very intuitive config file format! Few symbols, few rules, quite flexible. Has support for comments, arrays, maps, and type guarantees.
|
||||||
|
|
||||||
A very light, very intuitive config file format! Few symbols, few rules, quite flexible. Has support for comments, arrays, maps, and type guarantees.
|
Mercilessly benchmarked, fully tested. Fin competes toe-to-toe with Go's native JSON library, and handily outperforms the reference TOML and YAML implementations.
|
||||||
|
|
||||||
Mercilessly benchmarked, fully tested. SCF competes toe-to-toe with Go's native JSON library, and handily outperforms the reference TOML and YAML implementations.
|
|
||||||
|
|
||||||
## Format
|
## Format
|
||||||
|
|
||||||
SCF has very very simple syntax.
|
Fin has very very simple syntax.
|
||||||
|
|
||||||
```
|
```
|
||||||
-- Lua style comments!
|
-- Lua style comments!
|
||||||
|
@ -40,7 +38,7 @@ database {
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
go get git.sharkk.net/Go/Config
|
go get git.sharkk.net/Sharkk/Fin
|
||||||
```
|
```
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
@ -54,7 +52,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
config "git.sharkk.net/Go/Config"
|
"git.sharkk.net/Sharkk/Fin"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@ -65,7 +63,7 @@ func main() {
|
||||||
defer file.Close()
|
defer file.Close()
|
||||||
|
|
||||||
// Pass a string to be loaded by the parser!
|
// Pass a string to be loaded by the parser!
|
||||||
cfg, err := config.Load(file)
|
cfg, err := fin.Load(file)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
@ -119,24 +117,24 @@ This parser provides competitive performance compared to popular formats like JS
|
||||||
| Benchmark | Operations | Time (ns/op) | Memory (B/op) | Allocations (allocs/op) |
|
| Benchmark | Operations | Time (ns/op) | Memory (B/op) | Allocations (allocs/op) |
|
||||||
|-----------|----------:|-------------:|--------------:|------------------------:|
|
|-----------|----------:|-------------:|--------------:|------------------------:|
|
||||||
| **Small Config Files** |
|
| **Small Config Files** |
|
||||||
| Config | 1,000,000 | 1,052 | 1,743 | 15 |
|
| Fin | 1,000,000 | 1,052 | 1,743 | 15 |
|
||||||
| JSON | 1,000,000 | 1,112 | 1,384 | 23 |
|
| JSON | 1,000,000 | 1,112 | 1,384 | 23 |
|
||||||
| YAML | 215,121 | 5,600 | 8,888 | 82 |
|
| YAML | 215,121 | 5,600 | 8,888 | 82 |
|
||||||
| TOML | 286,334 | 4,483 | 4,520 | 67 |
|
| TOML | 286,334 | 4,483 | 4,520 | 67 |
|
||||||
| **Medium Config Files** |
|
| **Medium Config Files** |
|
||||||
| Config | 211,863 | 5,696 | 4,056 | 74 |
|
| Fin | 211,863 | 5,696 | 4,056 | 74 |
|
||||||
| JSON | 261,925 | 4,602 | 5,344 | 89 |
|
| JSON | 261,925 | 4,602 | 5,344 | 89 |
|
||||||
| YAML | 50,010 | 23,965 | 21,577 | 347 |
|
| YAML | 50,010 | 23,965 | 21,577 | 347 |
|
||||||
| TOML | 68,420 | 17,639 | 16,348 | 208 |
|
| TOML | 68,420 | 17,639 | 16,348 | 208 |
|
||||||
| **Large Config Files** |
|
| **Large Config Files** |
|
||||||
| Config | 55,338 | 21,556 | 12,208 | 207 |
|
| Fin | 55,338 | 21,556 | 12,208 | 207 |
|
||||||
| JSON | 70,219 | 17,202 | 18,140 | 297 |
|
| JSON | 70,219 | 17,202 | 18,140 | 297 |
|
||||||
| YAML | 12,536 | 95,945 | 65,568 | 1,208 |
|
| YAML | 12,536 | 95,945 | 65,568 | 1,208 |
|
||||||
| TOML | 14,732 | 74,198 | 66,050 | 669 |
|
| TOML | 14,732 | 74,198 | 66,050 | 669 |
|
||||||
|
|
||||||
*Benchmarked on AMD Ryzen 9 7950X 16-Core Processor*
|
*Benchmarked on AMD Ryzen 9 7950X 16-Core Processor*
|
||||||
|
|
||||||
## Why Choose SCF?
|
## Why Choose Fin?
|
||||||
|
|
||||||
- **Readability**: Simple syntax that's easy for humans to read and write
|
- **Readability**: Simple syntax that's easy for humans to read and write
|
||||||
- **Flexibility**: Supports various data types and nested structures
|
- **Flexibility**: Supports various data types and nested structures
|
||||||
|
|
|
@ -5,7 +5,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
config "git.sharkk.net/Go/SCF"
|
config "git.sharkk.net/Sharkk/Fin"
|
||||||
"github.com/BurntSushi/toml"
|
"github.com/BurntSushi/toml"
|
||||||
"gopkg.in/yaml.v3"
|
"gopkg.in/yaml.v3"
|
||||||
)
|
)
|
||||||
|
|
|
@ -6,7 +6,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
config "git.sharkk.net/Go/SCF"
|
config "git.sharkk.net/Sharkk/Fin"
|
||||||
"github.com/BurntSushi/toml"
|
"github.com/BurntSushi/toml"
|
||||||
"gopkg.in/yaml.v3"
|
"gopkg.in/yaml.v3"
|
||||||
)
|
)
|
||||||
|
|
2
go.mod
2
go.mod
|
@ -1,4 +1,4 @@
|
||||||
module git.sharkk.net/Go/SCF
|
module git.sharkk.net/Sharkk/Fin
|
||||||
|
|
||||||
go 1.24.1
|
go 1.24.1
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package scf
|
package fin
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
"bufio"
|
||||||
|
|
|
@ -5,7 +5,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
config "git.sharkk.net/Go/SCF"
|
config "git.sharkk.net/Sharkk/Fin"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestBasicKeyValuePairs(t *testing.T) {
|
func TestBasicKeyValuePairs(t *testing.T) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user