Comments (8)
Thanks for this. I've seen Jython being a significant win for big projects, but I've just timed buck build buck again before and after Jython and seen a slowdown, so I'll see if I can reduce the overhead.
from buck.
@spearce Is this on Mac or Linux? And with an encrypted hard drive or not encrypted?
from buck.
Linux version 3.2.5, looks like its an unencrypted ext4 filesystem on local disk.
from buck.
Using buckd should significantly reduce latency of all buck commands and dramatically reduce the duration of no-op incremental builds of complex projects as build files are cached between builds.
from buck.
buckd helps, but not as much as I would like to see. :-)
MacOS 10.8.3 (encrypted disk, java 1.7.0_21)
no-op without buckd: 8s
no-op with buckd: 3s
It seems like buckd has roughly gained back the latency loss caused by switching to Jython. But this is at the expense of a lot more complexity. Thus far the only thing we have really gained is removing a dependency on the local system Python, but that falls flat if your project uses a genrule() that runs a python_application().
from buck.
buckd's security model also isn't viable in all environments; you really have to trust every process on your machine in order to run buckd. Given that nailgun uses a native C binary as the client I'm surprised they don't have a version that uses UNIX domain sockets.
from buck.
There have been some discussions at facebook about sniffing the local system to see if there's a python version that meets the requirements for buck (so Python 2.5 with the imports required for buck.py) and using that in preference to jython if asked.
Right now, it's gone no further than a discussion, as for a large tree our measurements suggest using jython is an overall speed win.
from buck.
Fixed! 1023858
from buck.
Related Issues (20)
- Python 3.10: third-party python modules need update (setuptools: No module named 'symbol', pex: cannot import name 'iterable' from 'collections') HOT 10
- How to Change Xcode xxx.pbxproj resource-id prefix ?
- got OSError: [Errno 45] Operation not supported when run "buck build demo_app_ios" command
- Trying to generate multiple targets with buck project --combined-project, expecting one project, got many
- GCC Toolchain Path Incorrect Post R22 NDK HOT 4
- Invite to slack channel
- How to avoid or allow apple security in M1?
- How do I join slack?
- Jitpack failure
- zip64 self executing jar issue
- Accessing files across directories
- Cannot run a build, failed to initialize buck (sqlite-jdbc) HOT 2
- Unable to build buck. Java class file version error. HOT 3
- Windows,When building rule //src/com/facebook/buck/jvm/java/abi/kotlin:kotlin.
- [Question] Isolation level between test targets within the same project. HOT 1
- Unable to create abi jar
- buck fetch fails with symbolic links in an archive HOT 1
- State of the Project? HOT 2
- Buck fails to link, linkage order seems to be wrong in linker.argsfile HOT 1
- How can we build instant app using buck
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from buck.