pimutils / pimutils/khal

ikhal is really slow

Open
#813 2 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type: optimization
Dominant language
Python
Stars
3.1k
Forks
233
Avg merge
1h 44m
Merged PRs (30d)
1

Description

Generally speaking, the concept behind khal is awesome. I got it to work fine with my google calendar. That calendar has only few items, and ikhal's navigation is seamless.

However, I am also trying to use this for my office calendar at work, where I have tons of meeting events (total ~300 ics files, totaling ~5MB in vdir). In this setup, the same ikhal installation is very slow (~5 seconds) both to startup and to navigate in the calendar view (hangs a lot).

I am using a MacOSX (Darwin Kernel Version 16.7.0), Python 3.7.0, khal 0.9.9 based on pip3 install (global installation without virtualenv).

I tried the simple non-pkg_resources variant

#!/usr/bin/env python3

from khal.cli import main_khal

main_khal()

but that did not change anything noticeable.

I profiled khal with the default invocation and got khal.profile.tar.gz based on python3 cProfile which I cannot fully understand since I don't know all the function names. But it seems like a lot of time is being spent in parser.py. Pardon me if I am mistaken.

Could you please help me out.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The report points to parser.py and includes khal.profile.tar.gz; begin by examining the cProfile data and reproducing the delay with the stated ~300 ICS files. Done means identifying and addressing the startup and calendar-navigation slowdown, then measuring those paths again.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, python
Domain
cli, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.