This is a straight rust port of my C rope library

This is a straight rust port of my benchmarks here

Rope in Rust

This is a straight rust port of my C rope library. Its mostly complete - although its missing wide character conversion

This library was largely written as a learning exercise, to compare high performance rust vs the equivalent C code. Interestingly, while application code written in rust seems to end up smaller than its C equivalent, this library has ended up about the same size. My hot take is that rust's expressive advantages don't seem to amount to much when implementing deep data structures.

That said, I suspect there's a way to use rust's generics to add wide character support, newline iteration, and stuff like that in a templated way. That would be a huge win over the C version, which is littered with #ifdefs.

I've uploaded benchmarks here. Given ropey is both faster and more feature rich than this library, I'm not going to upload it to cargo or continue developing. Well played @cessen.

LICENSE

Licensed under the ISC license:

Copyright 2018 Joseph Gentle

Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Information - Updated May 13, 2022

Stars: 40
Forks: 3
Issues: 1

Repositories & Extras

Rust library for Self Organising Maps (SOM)

Add rusticsom as a dependency in Cargo

Rust library for Self Organising Maps (SOM)

Provides a cargo lipo subcommand which automatically creates a universal library for use with your...

Provides a cargo lipo subcommand which automatically creates a universal library for use with your iOS application

Provides a cargo lipo subcommand which automatically creates a universal library for use with your...

Rust bindings for FreeType library

Cargo: We use Cargo to compile the project

Rust bindings for FreeType library

CouchDB library for Rust

Include this dependency in the Cargo

CouchDB library for Rust

cargo_auto_github_lib

Library for cargo-auto automation tasks written in rust language with functions for github

cargo_auto_github_lib

Library crate for common tasks when building rust projects

Intended for use with cargo-auto

Library crate for common tasks when building rust projects

Light weight image library which focus on plotting!

type cargo run --example <example_name> in your terminal to see these example images crafted by our library

Light weight image library which focus on plotting!

Just for experience Rust library for writing with indentions

and add dependency in your Cargo

Just for experience Rust library for writing with indentions
Facebook Instagram Twitter GitHub Dribbble
Privacy