# October 2019 In Review

DevFeed: [October 2019 In Review](<https://devfeed.tech/articles/october-2019-in-review-22372.md>)

Original publisher: [Read original article](<https://www.red-lang.org/2019/10/october-2019-in-review.html>)

Author: Unknown (noreply@blogger.com)

Published: 2019-10-25T06:14:00Z

Content type: article

Language: en

Sources: [Red](<https://devfeed.tech/sources/red.md>)

Topics: [Red](<https://devfeed.tech/topics/red.md>), [Finite-state machine](<https://devfeed.tech/topics/finite-state-machine.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [cpu](<https://devfeed.tech/topics/cpu.md>), [Code](<https://devfeed.tech/topics/code.md>), [Wiki](<https://devfeed.tech/topics/wiki.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [github](<https://devfeed.tech/tags/github.md>), [performance](<https://devfeed.tech/tags/performance.md>), [testing](<https://devfeed.tech/tags/testing.md>)

## AI overview

An October 2019 Red language review reports major progress on the fast-lexer branch. Benchmarks describe substantially faster loading for large word and integer inputs, while the implementation remains unfinished and still requires keyword-loading and symbol-table optimizations. The article also highlights community guides, code statistics, build archives, and development tools.

## Source excerpt

Over the last few weeks the Red Lang core team drilled down to make some truly great progress on Red's fast-lexer branch--while we also gained valuable support from the contributions of Red doers and makers as they consolidate a world of useful information and resources. Fast-Lexer Benchmarks In the fast-lexer branch of Red, you can see lots of new work from Red creator @dockimbel (Nenad Rakocevic) and core teammate @qxtie. Among other fixes and optimizations, they substituted a hashtable for what had previously been a large array in context! The numbers so far: Loading 100'000 words (5 to 15 characters, 1MB file): Red (master): 19000ms. Red (fast-lexer): 150ms. Nenad's observations on further testing: "FYI, we just [ran] some simple benchmarks on the new low-level lexer for Red using 1M 10-digit integers. The new lexer completes the loading about 100 times faster than the current high-level one. Loading 1M 10-digit integers in one block: Red: 175ms; R2: 136ms; R3: 113ms. "We use a faster method than Rebol, relying on several lookup tables and a big FSM with pre-calculated transition table (while Rebol relies on a lot of code for scanning, with many branches, so bad for modern CPU with branch predictions). With an optimizing backend, Red's LOAD should in theory run 2-3 times faster than Rebol's one. (Though, we still need to optimize the symbol table loading in order to reach peak performance). Given that Rebol relies on optimized C code while Red relies on sub-optimal code from R/S compiler, that speaks volume about the efficiency of our own approach. So, Red/Pro should give us a much faster LOAD. "The lexer is not finished yet, but the hard part is done. We still need to figure out an efficient way to load keywords, like escaped character names (`^(line), ^(page), ...) and month nouns in dates." This is a huge accomplishment, and it's shaping up to make future goals even more impressive. The fast-lexer branch is a work in progress, but stay tuned: Nenad has more t