# ChangeLog: v1.3.97

* [CHAGNELOG.md](https://github.com/swc-project/swc/blob/60455b0e3abee6112c50c3bf6895503a45c6d53e/CHANGELOG.md#1397---2023-11-09)
    
* [Full ChangeLog](https://github.com/swc-project/swc/milestone/455?closed=1)
    

---

This patch is mostly about the performance improvement.

# Bugfix: `ascii_only: false`

* PR: [https://github.com/swc-project/swc/pull/8217](https://github.com/swc-project/swc/pull/8217)
    

# Performance improvements

## `hstr` instead of `string-cache`

* PR: [https://github.com/swc-project/swc/issues/8126](https://github.com/swc-project/swc/issues/8126)
    

`hstr` is a new string interning library designed for the Rust-side compilers. This is designed to avoid costly operations like `strcmp` as much as possible.

I'll write a detailed post about it in the near future.

## Parser trivial optimizations

### Removal of `Rc::clone`

* PR: [https://github.com/swc-project/swc/pull/8231](https://github.com/swc-project/swc/pull/8231)
    

### Removal of `strcmp`

* PR:[https://github.com/swc-project/swc/pull/8223](https://github.com/swc-project/swc/pull/8223)
    

### Really trivial ones

* PR:[https://github.com/swc-project/swc/pull/8224](https://github.com/swc-project/swc/pull/8224)
    

### Smarter lookup table

* PR:[https://github.com/swc-project/swc/pull/8226](https://github.com/swc-project/swc/pull/8226)
    

## Minifier trivial optimizations

### Removal of needless operations in the name mangler

* PR: [https://github.com/swc-project/swc/pull/8222](https://github.com/swc-project/swc/pull/8222)
    

## Transform trivial optimizations

* PR: [https://github.com/swc-project/swc/pull/8213](https://github.com/swc-project/swc/pull/8213)
