| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-02-04 | Revert "WIP linked list shared strings" | Maxime Coste | |
| This got pushed by accident This reverts commit 2856b99e0914cc7a659977f2b33308cb5b4c9bb7. | |||
| 2025-01-22 | WIP linked list shared strings | Maxime Coste | |
| 2024-08-14 | Reduce number of included headers | Maxime Coste | |
| 2024-02-28 | Fix missing destructor call and simplify code slightly | Maxime Coste | |
| Although the destructor call is a no-op, it is more correct to have it to ensure the compiler knows the lifetime of that object ended. | |||
| 2024-02-28 | Templatize StringData::create | Maxime Coste | |
| This improves performance by letting the compiler optimize most use cases where string count and length are known are compile time. | |||
| 2023-11-17 | Improve WordDB performance by precomputing hashes | Maxime Coste | |
| Avoid multiple computation of string hashes by making it possible to pre-compute and pass hashes to interned strings and hash maps. | |||
| 2021-10-23 | src: Fix undefined behaviour | Frank LENORMAND | |
| Cppcheck produces the following warnings: ``` shared_string.hh:27:49: portability: Shifting signed 32-bit value by 31 bits is implementation-defined behaviour shared_string.hh:27:49: error: Signed integer overflow for expression '1<<31'. ``` Fixes #4340 | |||
| 2017-03-07 | Replace uses of UnorderedMap with HashMap | Maxime Coste | |
| 2017-02-23 | Refactor StringData and StringRegistry to remove need for purging | Maxime Coste | |
| Purging unused strings could get pretty expensive with a lot of interned strings as it requiered iterating on all of them. Use a flag on the refcount of the StringData to see if the string is interned, and notify the StringRegistry in this case. This should improve the speed of editing big files with many words, such as the one described in #1195 | |||
| 2017-01-30 | Make SharedString::create take a list of StringViews | Maxime Coste | |
| 2017-01-28 | Remove hash from StringData | Maxime Coste | |
| Maintaining the hash value of strings is not worth it as we only use it for buffer reload, but pay for it on any buffer modifications. | |||
| 2017-01-08 | Apply clang-tidy modernize to the codebase | Maxime Coste | |
| 2016-12-03 | Refactor RefPtr handling to use a policy class | Maxime Coste | |
| THe previous overload based system was pretty complex for no good reason. | |||
| 2016-02-05 | Get rid of SharedString | Maxime Coste | |
| 2016-02-05 | dont intern SharedStrings but StringDataPtr | Maxime Coste | |
| 2015-11-06 | Remove unused _ss UDL | Maxime Coste | |
| 2015-05-14 | Keep hash stored in StringData | Maxime Coste | |
| 2015-05-02 | Formatting fix | Maxime Coste | |
| 2015-04-16 | Use an UnorderedSet for string registry | Maxime Coste | |
| 2015-03-12 | Remove unused StaticString | Maxime Coste | |
| 2015-03-02 | Tweak StringData::create implementation | Maxime Coste | |
| 2015-03-01 | Use StringDataPtr alias for RefPtr<StringData> | Maxime Coste | |
| 2015-03-01 | rename StringStorage to StringData | Maxime Coste | |
| 2015-02-28 | Add StaticStringStorage for storing string literals | Maxime Coste | |
| 2015-02-23 | Use RefPtr as SafePtr backend | Maxime Coste | |
| 2015-02-19 | Rename safe_ptr and ref_ptr to SafePtr and RefPtr | Maxime Coste | |
| 2015-02-10 | Replace some <cstring> function usage with c++ algorithms | Maxime Coste | |
| 2015-01-26 | Always inline StringStorage methods | Maxime Coste | |
| 2015-01-25 | Tweak SharedString | Maxime Coste | |
| 2015-01-24 | Fix GCC 4.8 compilation | Maxime Coste | |
| 2015-01-22 | Avoid temporary strings on buffer load/reload | Maxime Coste | |
| Pass directly a Vector<ref_ptr<StringStorage>> to the buffer | |||
| 2015-01-19 | rename SharedString::Storage to StringStorage and use directly in Buffer | Maxime Coste | |
| 2015-01-19 | Use a single allocation for SharedString::Storage | Maxime Coste | |
| 2015-01-18 | Add helper for overloading operator new/delete | Maxime Coste | |
| 2015-01-18 | Replace std::shared_ptr with homemade, intrusive, ref_ptr | Maxime Coste | |
| That saves a lot of memory as sizeof(SharedString) is now one pointer less. | |||
| 2015-01-15 | Add a no copy shared string constructor, used for map lookup, and intern words | Maxime Coste | |
| 2015-01-15 | Replace InternedStrings with SharedString, shared_ptr based | Maxime Coste | |
