libbash weekly report #10

Finally I have done with the backtracking removal. Now doing semantic predicate is much easier. With this change, I successfully supported here document, which was the biggest blocker before I started this work. In addition, the performance is better. I used valgrind to get performance comparison. Here is the output of ms_print (post-processing tool for Massif) before and after backtracking removal: before, after. I reduced about 38% memory usage and got the library run 20% faster.

What I have done in the past week:

  • Completed the work on the new parser and incorporated it to our project
  • Improved parameter expansion parsing and its runtime
  • Improved built-in and keyword test
  • Improved the runtime for case statement
  • Improved arithmetic expansion
  • Improved the local built-in
  • Fixed some minor problems in compound statement and parameter expansion
  • Reimplemented the export built-in
  • Removed several tokens to avoid conflicts
  • Improved here document and here string
  • Fixed single quoted string in command substitution

In the following week, I will:

  • Get backtracking removal pushed
  • Fix our instruo implementation (now it crashes with the new grammar)
  • Improve process substitution
  • Support redirection without any command
  • Reimplement the local built-in
  • Fix some minor problems in variable expansion and bash test
  • Remove some composite tokens

I started working on this project early and I will start seeking a job soon (I’ll soon graduate from my university). So Petteri and I agreed to end the GSoC on 08.06. As a result, this is the last iteration of this year’s GSoC. I’ll write one more regular report and a final report before the end. I’ll continue my work on this project as soon as I get a job :).

About these ads
  1. libbash weekly report #11 « Another Gentoo Dev

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: