Avoid PyCharm Overloading ========================= This speeds up PyCharm's package index processes and avoids CPU & memory overloading. On my machine (4c/32GB) with 5 conda environments and 10 projects, this reduces PyCharm's package scanning from 15 minutes to 45 seconds. Why? ---- When PyCharm has multiple conda environments, it will sometimes launch concurrent package scanning across those environments. To do so, it uses the `conda` cli, and a tool called conda_packaging_tool.py, available from the JetBrains intellij-community github repository (see below). Unfortunately, these tools do not behave well when launched in parallel, as they tend to overload CPU & memory in this case. How? ---- To avoid stalling these processes, we modify their sources as follows: 1. modify the conda cli $ conda activate base $ pip install runfast $ nano `which conda` Modify the main section: if __name__ == '__main__': from conda.cli import main from runfast import cached cached(main) 2. modify the conda_packaging_tool.py if __name__ == '__main__': from runfast import cached cached(main) How does this work? ------------------- Two simple steps: 1. When called in parallel, only one process is allowed to proceed. 2. `runfast.cached` caches the output of these tools (stdout, stderr) for 1 minute, given the same command line parameters That is, when PyCharm launches 5 package scanning (`conda list`) commands, only one of them will run immediately. If some of the scans are for the same environment, only one of them will actually run, while the others simply return the same output. How to clear the cache or avoid caching at all? $ export RUNFAST_NOCACHE=1 Testing ------- a) conda packaging tool # first time $ time python /opt/pycharm-community-2021.2.1/plugins/python-ce/helpers/conda_packaging_tool.py real 0m13.271s user 0m9.631s sys 0m1.936s # second time $ time python /opt/pycharm-community-2021.2.1/plugins/python-ce/helpers/conda_packaging_tool.py real 0m3.159s user 0m0.139s sys 0m1.298s b) conda cli # first time $ time conda list -p /path/to/env real 0m7.985s user 0m7.883s sys 0m0.087s # second time real 0m0.152s user 0m0.116s sys 0m0.032s References ---------- * https://github.com/JetBrains/intellij-community/blob/master/python/helpers/conda_packaging_tool.py * https://github.com/conda/conda/blob/33a142c16530fcdada6c377486f1c1a385738a96/conda/core/index.py#L53
This speeds up PyCharm's package index processes and avoids CPU & memory overloading
Overview
Collie is for uncovering RDMA NIC performance anomalies
Collie is for uncovering RDMA NIC performance anomalies. Overview Prerequ
Tutorials for on-ramping to StarkNet
Full-Stack StarkNet Repo containing the code for a short tutorial series I wrote while diving into StarkNet and learning Cairo. Aims to onramp existin
Learning with Peter Norvig's lis.py interpreter
Learning with lis.py This repository contains variations of Peter Norvig's lis.py interpreter for a subset of Scheme, described in (How to Write a (Li
GDIT: Geometry Dash Info Tool
GDIT: Geometry Dash Info Tool This is the first large script that allows you to quickly get information from the Geometry Dash server
A dead-simple service that notifies you when something goes down.
Totmannschalter Totmannschalter (German for dead man's switch) is a simple service that notifies you when it has not received any message from a servi
Osu statistics right on your desktop, made with pyqt
Osu!Stat Osu statistics right on your desktop, made with Qt5 Credits Would like to thank these creators for their projects and contributions. ppy, osu
CBO uses its Capital Tax model (CBO-CapTax) to estimate the effects of federal taxes on capital income from new investment
CBO’s CapTax Model CBO uses its Capital Tax model (CBO-CapTax) to estimate the effects of federal taxes on capital income from new investment. Specifi
LiteX-Acorn-Baseboard is a baseboard developed around the SQRL's Acorn board (or Nite/LiteFury) expanding their possibilities
LiteX-Acorn-Baseboard is a baseboard developed around the SQRL's Acorn board (or Nite/LiteFury) expanding their possibilities
Gerenciador de processos e registros pessoais do Departamento de Fiscalização de Produtos Controlados.
CRManager Gerenciador de processos e registros pessoais do Departamento de Fiscalização de Produtos Controlados. Descrição Este projeto tem como objet
Brython (Browser Python) is an implementation of Python 3 running in the browser
brython Brython (Browser Python) is an implementation of Python 3 running in the browser, with an interface to the DOM elements and events. Here is a
A simple website-based resource monitor for slurm system.
Slurm Web A simple website-based resource monitor for slurm system. Screenshot Required python packages flask, colored, humanize, humanfriendly, beart
☘️ Projet Voltaire Solver in Python3
☘️ Projet Voltaire Solver in Python3
Manually Install Python 2.7 pip without any problem !
Python2.7_install_pip Manually Install Python 2.7 pip without any problem ! Download installPip.py to your system and Run the code using this Command
Extrator de dados do jupiterweb
Extrator de dados do jupiterweb O programa é composto de dois arquivos: Um constando apenas de classes complementares que representam as unidades e as
python based clash stars made by grade 7 and 5
clash_stars python based clash stars made by grade 7 and 5 How to play: PLAYER ONE (LEFT PLAYER) Move: W,A,S,D Shoot: SHIFT PLAYER TWO (RIGHT PLAYER)
Reso is a low-level circuit design language and simulator, inspired by things like Redstone, Conway's Game of Life, and Wireworld.
Reso Reso is a low-level circuit design language and simulator, inspired by things like Redstone, Conway's Game of Life, and Wireworld. What is Reso?
Find all solutions to SUBSET-SUM, including negative, positive, and repeating numbers
subsetsum The subsetsum Python module can enumerate all combinations within a list of integers which sums to a specific value. It works for both negat
My collection of mini-projects in various languages
Mini-Projects My collection of mini-projects in various languages About: This repository consists of a number of small projects. Most of these "mini-p
An open source server for Super Mario Bros. 35
SMB35 A custom server for Super Mario Bros. 35 This server is highly experimental. Do not expect it to work without flaws.
Open Source Management System for Botanic Garden Collections.
BotGard 3.0 Open Source Management System for Botanic Garden Collections built and maintained by netzkolchose.de in cooperation with the Botanical Gar