Project: Gzip Optimization

I. Introduction: For this post, we will be discussing possible optimization approaches for Gzip. For more context, please visit building and profiling posts To understand the code more thoroughly, we will need to have a look at the source code that consists of longest_match function. The code is located at deflate.c in the gzip project […]

Project: GZIP Profiling

I. Introduction: For this post, we will performing profiling to determine which part of the program takes the most execution time and improve those specific parts The two approaches we will be using in this post is sampling and instrumentation II. Getting started: 1. Sampling: Indicates the process of interrupting the running process constantly. As […]

Project: Gzip Building (updated)

I. Introduction: The project I chose to optimize is Gzip which is a compression utility commonly used to work with archives developed by GNU community Personally, there are other projects I’m interested in but I don’t know enough to perform such task so I picked Gzip because it’s simple enough for me to understand Additionally, […]

Project selection: GZip

I. Introduction: For the final project of this course, we get to choose an open source package and try to optimize it The first thing that came to my mind is gzip because it’s the equivalent of tar for extracting and compressing archive with gzip format but tar is significantly faster (at least in my […]

Lab 5B: Loop program (X86-64)

A. Introduction: In this lab, we will begin to use assembly language for architecture AArch64 and x86-64 To view the code for AArch64, please visit this pastebin link Before you go on, I must say that this is similar to the AArch64 version. The only difference is where the remainder and quotient are stored in […]

Lab 5A: Loop program (AArch64)

A. Introduction: In this lab, we will begin to use assembly language for architecture AArch64 and x86-64 To view the code for AArch64, please visit this pastebin link B. Code explanation: I. Program sections and flows: In assembly, there are different sections that serve a sole purpose. For example, the text section is used to […]

Lab 4B: Assembly 6502 String lab (option 4)

A. Introduction: In this lab 4 for Assembly 6502 architecture, we will be making a program to receive 2 digits, add the received numbers and print the result To view the code, please visit this pastebin link B. Code explanation: I. ROM routines and predefined variables: ROM routines are builtin utilities that can assist you […]

Lab 4A: Assembly 6502 String lab (option 1)

A. Introduction: In this lab 4 for Assembly 6502 architecture, we will be making a program to receive 2 digits, add the received numbers and print the result To view the code, please visit this pastebin link Unfortunately, I’m unable to figure out how to perform calculations on numbers with 2 or more digits. The […]

Lab 3a: Assembly Math Lab (Code)

A. Introduction: As mention in the previous article about lab 3, we will be doing a Pong game using 6502 assembly language. Please click here to view the code in raw B. Code explanation: Note: I will skip the self-explanatory parts to avoid a lengthy article I. Predefined address and constants: We need to define […]

Lab 3a: Assembly Math Lab (Theory)

A. Introduction: In this lab, we will be using Assembly Math operations to create sereval interactive projects on the bitmap B. Project – Pong Game: I. Summary: The Pong game is a classical game where 2 players use their paddle to bounce a ball between them. A score is counted when the ball passes a […]